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. 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
    1. Merci une nouvelle fois :-)
      0