Automatiser une séquence de touches (X11, quelque soit le logiciel)

Bonjour,
est-il possible de créer une commande qui reproduit un certains nombre de fois (ou, au moins une fois), une séquence de touches claviers.

Concrètement, dans « grisbi », j’ai entré un grand nombres d’opération en me trompant d’années, et il ne me paraît pas possible de réaliser une sélection et modification globale de ce type (changer seulement l’année dans la date)
, mais la séquence de touche est constante.

aptitude  show xdotool
....
Taille décompressée : 125 k

Description : génération d'évènements X11 d'entrées clavier ou de souris
 Xdotool permet de simuler par programmation (ou manuellement) l'activité d'entrée de
 clavier ou de souris, les déplacements et redimensionnements de fenêtres, etc. Il
 réalise cela en utilisant l'extension XTEST de X11 et d'autres fonctions Xlib.

Si vous n’utilisez pas wayland il le semble que vous devriez pouvoir vous en sortir avec xdotool (125 Ko de pur Xlib)

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Un ordinateur c’est comme un frigo : on le branche et ça marche. »
Laurent Serano Directeur informatique, réunion Délégués du Personnel 2010

Bonsoir

Je viens de faire une rapide recherche
et dans cette page web j’ai pu constater
que le format des fichiers utilisés par Grisbi était du XML.

Je pense que tu devrais pouvoir ouvrir ces fichiers avec LibreOfficeCalc
qui devrait te permettre de retrouver facilement les champs que tu veux modifier
et la modification sera sans doute beaucoup plus facile.

Ne modifie pas les fichiers originaux, mais fais-en des copies,
et mets les originaux de côté.

Merci à tous les deux, je vais voir ça, les deux suggestions sont intéressantes.

pourquoi utiliser un éléphant pour abattre une mouche ?!
un éditeur de texte suffit, voire en ligne de commande, puisque c’est du XML :wink:
( <3 Geany )

Je comprend bien ton point de vue,
mais un éditeur de texte ne sera pas capable de comprendre, interpréter, et écrire en vérifiant le balisage XML et ses imbrications,
et un éditeur de texte ne pourrait pas faire la différence entre le texte du nom des balises et le texte contenu entre ces balises.

vim le peu, il peut tout faire d’ailleurs même le café.^^
Je vois le truc avec une regex et une substitution

1 J'aime

à moins que je ne me trompe mais un coup de sed devrait suffire. non ?!
du type:

sed -i -e "s#annee-a-changer#annee-modifiee#g" fichier.xml

(moi : en mode certainement très naïf)

Habitué à vim, sed ne devrait pas trop me poser de problème. D’ailleurs, il est aussi simple d’utiliser vim, qui présente l’avantage de montrer immédiatement le résultat et de rectifier la regex, puisqu’il ne s’agit d’agir que sur un seul fichier (une copie par prudence évidente).
Merci à tous.

1 J'aime

Bonjour
Le s ne veut il pas dire substitute?
Dans les deux cas (avec vim ou sed) on utilise une regex et une substitution.

Oui, et …
Extrait de Référence Debian (Préface)

Ce que je voulais dire par là,
c’est qu’une regex appliquée directement sur le texte d’un fichier XML
pourrait très vite mettre en vrac toute la structure hiérarchique d’un document XML
tant qu’on n’en connaît pas bien la structure et le nom de toutes les balises qu’il utilise.

Mais je suis aussi tout à fait d’accord avec vous pour dire que,
si on sait ce qui va être impacté, vim ou/et sed seront beaucoup plus rapide
et consommeront énormément moins de ressources
que l’utilisation d’une application comme LibreOffice Calc


Et entre les deux, il y a aussi la très efficace library BeautifulSoup de python

2 J'aime

Absolument, et pas difficile à prendre en main ! :stuck_out_tongue: