expressions sed

theo theocrite at free.fr
Mon Jan 21 20:50:43 CET 2008


Daniel Caillibaud wrote:
lut,

> 2) pourquoi pour indiquer "tout caractère sauf un ]" il faut mettre [^]] et pas [^\]] ?

Parce que [^] n'aurait aucun sens autrement. Cela voudrait dire "tout
sauf rien". Le premier caractère après le ^ est obligatoirement un
caractère matché.


L'exemple de Marc :
echo "[abc]def" | sed "s/[^][]//g"
[]

Les caractères ignorés sont ] et [. Si on tente de les mettre dans
l'autre sens :

echo "[abc]def" | sed "s/[^[]]//g"
[abdef

Ça ne fonctionne pas. Ça ne s'interprète pas comme tout sauf [], mais
"tout sauf [" (la partie [^[]) puis  ]. Ce qui matche bien c].

-- 
À +
theo.



More information about the Shell mailing list