Existe-t-il un moyen d'exécuter une chaîne regexp remplacer sur la ligne en cours dans le bash?Bash reg-exp de substitution
je me trouve assez souvent dans la situation où j'ai tapé une longue et réaliser commandline, que je voudrais changer un mot quelque part dans la ligne.
Mon approche actuelle est de terminer la ligne, appuyez sur Ctrl + A (pour arriver au début de la ligne), insérer un # (pour commenter la ligne), appuyez sur Entrée, puis utilisez le ^oldword^newword
La syntaxe (^oldword^newword
exécute la commande précédente après avoir remplacé oldword par newword).
Mais il doit y avoir une meilleure façon (plus rapide) d'y parvenir. (La souris n'est pas possible, puisque je suis dans une ssh-sessions la plupart du temps).
Il y a probablement une commande clé semblable à emacs pour cela, que je ne connais pas.
Éditer: J'ai essayé d'utiliser le mode vi. Quelque chose d'étrange est arrivé. Bien que je sois un vim-utilisateur aimant, j'ai eu de sérieux problèmes à utiliser mon bash bien-aimé. Tous ces mouvements de doigts qui ont été brûlés dans mon subconscient ont soudainement cessé de fonctionner. Je suis rapidement retourné en mode emacs et considéré, en donnant à emacs un essai en tant que mon éditeur préféré (bien que je suppose, la même chose pourrait se reproduire).
Il fonctionne en effet avec Bash, aussi, et je dirais que c'est la meilleure réponse quand on veut faire des trucs d'éditeur à part entière avec votre ligne de commande actuelle. – jwd