Sed suppresion de ligne case insensitive

fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   -  
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    VAR="Ce qUE tu VeUx"
    
    sed -i "/${VAR}/Id" fichier.txt

    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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
    2. fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
       
      J'avais essayé avec le I mais je l'avais mis derrier le /d et devant le sed....

      Merci !
      0