Supprimer avec sed : changer les délimiteurs

Résolu
NegroTruc -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Je suis en train de réaliser un script shell.
Je souhaite utiliser la commande sed pour supprimer les lignes d'un fichier "test" qui contiennent "Admin". J'ai donc la commande suivante :

sed -i "/Admin\|user/d" test
Cette commande fonctionne.

Mais celle-ci ne fonctionne pas :
sed -i ":Admin:d" test

Même chose avec d'autres délimiteurs.
J'ai pourtant déjà utilisé d'autres délimiteurs pour faire des substitutions. Ce n'est pas possible pour des suppressions ?

Merci pour votre aide.

2 réponses

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

    Pour les substitutions le nouveau délimiteur peut être employé sans avoir à le protéger.

    sed 's#blabla#blibli#'

    Par contre, pour la recherche d'un motif il faut le protéger (le 1er du moins) :

    sed -i "\:Admin:d" test 
    sed -i "\:Admin:,\:user:d" test 
    0
  2. NegroTruc
     
    Arf, je n'avais pas vu ça dans la doc.

    Merci ! :)
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      0
    2. NegroTruc
       
      Je suis passé 15 fois devant... ><
      0
    3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      ;-))
      0