Sed: avec variable et quotes

Résolu
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 ? :-)
Configuration: Windows XP
Firefox 2.0.0.11

3 réponses

  1. Merci une nouvelle fois :-)
    0
    1. Modérateur
      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:~#
      1