Coucou.
J’ai besoin de faire régulièrement un rechercher/remplacer dans fichieramodifier.txt, en prenant la liste des remplacements à faire depuis un csv avec 2 colonnes <texte recherché>;.
J’ai essayé de jouer avec sed et cut pour faire ça, mais je suis grave rouillé et trés fatigué.
Quelqu’un saurait monguer ça élégament en une instruction, en bash,perl ou autre que je puisse mettre ça facile en cron ?
Difficile de faire ça en une instruction vu que tu dois utiliser deux fichiers pour un rechercher/remplacer, du moins avec sed.
Sauf si un barbu passe par ici et prouve le contraire.
Je pense qu’on peut faire ça en une ligne en Perl, j’essaie de développer un petit traducteur Français->Patois normand (on s’amuse comme on peut ) qui utiliserait ce principe. Je débute encore en Perl, mais dès que j’ai trouvé comment faire ça de façon élégante, je donne des nouvelles !
$ cat fichier.fic ceci est un bla bla. j'y parle de n'importe quoi. je veux y faire une série de rechercher/remplacer $ cat replace.fic bla bla,pipo n'importe quoi,tout et de rien $ sed 's/^/s\//; s/,/\//; s/$/\//' replace.fic s/bla bla/pipo/ s/n'importe quoi/tout et de rien/ $ sed "$(sed 's/^/s\//; s/,/\//; s/$/\//' replace.fic)" fichier.fic ceci est un pipo. j'y parle de tout et de rien. je veux y faire une série de rechercher/remplacer
et le premier qui me traite de barbu, je lui fait exploser le fondement !
Oui, un peut comme une de mes commandes en sed (dont je peux pas donner le contenu étant donné que j’ai changé de langage de programmation sur ce projet à cause de ce truc) contenait une série de sept anti-slashes consécutif. Je n’ai jamais compris pourquoi il en fallait sept et je n’ai trouvé cette valeur que de façon empirique.
C’était pour insérer un échappement (\033) pour une coloration de terminal, ça donnait un truc du genre sed 's/^\(.*\)$/\\\\\\\033[5m\1/', mais ça ne jurait pas vraiment avec le reste du code.