Sed suppresion de ligne case insensitive

Fermé
fxtaa Messages postés 1050 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 - Modifié par fxtaa le 10/03/2011 à 15:46
fxtaa Messages postés 1050 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 - 11 mars 2011 à 10:05
Bonjour,


j'aimerai avec sed supprimer une ligne où je match un mot quelques soit son case :

sed -r -i "/bonjour/d" test.txt

test.txt : BONJOUR
ou : Bonjour
ou : bonjour
ou : boNjouR

etc...
Sauf que j'ai rien trouvé sur le net :s .

Bien entendu bonjour est une variable dont je ne connais aucune des lettres.

Enfin bref, c'est la galère :s

Merci pour votre lecture ^^

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
10 mars 2011 à 15:51
Salut,

VAR="Ce qUE tu VeUx"

sed -i "/${VAR}/Id" fichier.txt

0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
10 mars 2011 à 15:55
Illustration :

$ VAR="Bonjour\nSalut\nBONJOUR\nSALUT\nbonJOur\nsAlUt"

$ echo -e $VAR
Bonjour
Salut
BONJOUR
SALUT
bonJOur
sAlUt

$ A="SaLuT"

$ echo -e $VAR | sed "/${A}/Id"
Bonjour
BONJOUR
bonJOur

$ A="BOnjoUR"

$ echo -e $VAR | sed "/${A}/Id"
Salut
SALUT
sAlUt

$

;-))
0
fxtaa Messages postés 1050 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 74
11 mars 2011 à 10:05
J'avais essayé avec le I mais je l'avais mis derrier le /d et devant le sed....

Merci !
0