Sed: avec variable et quotes
Résolu
tlep
Messages postés
597
Statut
Membre
-
tlep Messages postés 597 Statut Membre -
tlep Messages postés 597 Statut Membre -
Bonjour,
J'ai un fichier contenant :
aaa
bbb
ccc
Je fais : sed 's/^bbb$//g;/./!d' fichier
J'obtiens bien :
aaa
ccc
En revanche si je fais :
toto="bbb";sed 's/^$toto$//g;/./!d' fichier
ca ne marche pas :
aaa
bbb
ccc
Avec les doubles quotes:
toto="bbb";sed "s/^$toto$//g;/./!d" fichier
-bash: !d": event not found
Comment que se fait-ce ? :-)
J'ai un fichier contenant :
aaa
bbb
ccc
Je fais : sed 's/^bbb$//g;/./!d' fichier
J'obtiens bien :
aaa
ccc
En revanche si je fais :
toto="bbb";sed 's/^$toto$//g;/./!d' fichier
ca ne marche pas :
aaa
bbb
ccc
Avec les doubles quotes:
toto="bbb";sed "s/^$toto$//g;/./!d" fichier
-bash: !d": event not found
Comment que se fait-ce ? :-)
Configuration: Windows XP Firefox 2.0.0.11
3 réponses
-
Salut,
toto="bbb";sed 's/^'"$toto"'$//g;/./!d'
Voir dans la FAQ : SED - The Stream EDitor - Part II - Le remplacement de variables
;-)) -
Salut,
sinon, comme ça (mais la solution donnée par jipicy est meilleure)root@debian:~# cat tlep.txt aaa bbb ccc root@debian:~# toto="bbb";sed -e "s/^$toto$//g" -e '/./!d' tlep.txtaaa ccc root@debian:~#
-