J’ai des problèmes avec l’utilitaire sed
. Je dois remplacer l’expression rationnelle par une chaîne, mais uniquement sur les lignes contenant une autre chaîne spécifique. Quoi de plus je dois lire à partir d’un fichier et ensuite le modifier par sed
, pas seulement exporter des valeurs de remplacement. Voici ce que j’ai essayé:
sed -e '`grep aa test`"s/aa/xx/g test' sed -n '/aa/p' test | sed s/aa/xx/g grep aa test | sed 's/aa/xx/g'
Utilisez une adresse avant la commande s
:
sed '/aa/ s/aa/xx/g' test
s
commande s
ne s’appliquera que sur les lignes contenant le modèle d’adresse
Mais il n’est pas nécessaire d’avoir le même modèle d’adresse et de commande s
.
Un meilleur exemple serait:
sed '/bb/ s/aa/xx/g' test