pourquoi tu fais toujours des recherches compliqués (ecrites tordues)
alors que depuis le debut on essaie de te montrer qu'on peut simplifier
ainsi ton
$ sed -i -r -e '/^[ ]*#\|^$\|^\n*$/ !s/if_(..).*[a-zA-Z][0-9]*\.([a-z]).*[a-z]$ / IF \U1円\E.2円 /' mon_fichier
pourrait s'ecrire
$ sed -i -r -e '/^[ |#|\n|\t]*$/ !s/if_(..).*[a-zA-Z][0-9]*\.([a-z]).*[a-z]$ / IF \U1円\E.2円 /' mon_fichier
histoire d'y voir plus clair dans la recherche suppression des lignes vides, lignes de commentaires, retour à la ligne et ligne de tabulations
ensuite ton expression ne trouve rien, donc ne remplace rien
en effet quand tu fais le test avec le echo, tu n'as pas mis de suite à ta variable ( ; #le commentaire) donc le test fonctionne
mais dans ton fichier de test, ben la ligne ne se finit pas apres la lettre.
typique tu lui dis que ta ligne finie par une lettre [a-z]$
alors qu'elle finit par lettre suivi du ; voire de commentaire
donc le motif devrait etre :
sed -r -e '/^[ |#|\n|\t]*$/d' -e 's/if_(..) [a-zA-Z][0-9]*\.([a-z]).*[a-z].*$/IF \U1円.\E2円/' fichier
# simplifications...
Posté par NeoX . En réponse au message truc bizarre avec un script. Évalué à 3.
alors que depuis le debut on essaie de te montrer qu'on peut simplifier
ainsi ton
pourrait s'ecrire
histoire d'y voir plus clair dans la recherche suppression des lignes vides, lignes de commentaires, retour à la ligne et ligne de tabulations
ensuite ton expression ne trouve rien, donc ne remplace rien
en effet quand tu fais le test avec le echo, tu n'as pas mis de suite à ta variable ( ; #le commentaire) donc le test fonctionne
mais dans ton fichier de test, ben la ligne ne se finit pas apres la lettre.
typique tu lui dis que ta ligne finie par une lettre [a-z]$
alors qu'elle finit par lettre suivi du ; voire de commentaire
donc le motif devrait etre :