Sed/perl- recherche d'un motif et suppresion

Résolu
Nico -  
 Nico -
Bonjour,

Entres autres choses, j'aimerais rechercher dans un fichier un motif précis, par exemple, la ligne contenant "*cut here*" puis supprimer toutes les lignes qui suivent ce motif jusqu'à la dernière.

Je me disais que Perl, intégré dans un script shell, pourrais faire me faire ça ... mais je n'ai pas la moindre connaissance dans ce language. Quelqu'un aurait il une idée ou une piste à explorer ? D'avance merci !

Nico

3 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

La ligne contenant le motif doit-elle être conservée ?
Si oui :

sed '/\*cut here\*/,${//b;d}' fichier

Sinon :

sed '/\*cut here\*/,$d' fichier

;-))
3
Nico
 
Super c'est exactement ce que je souhaitais ! Merci beaucoup pour la qualité et la rapidité de ta réponse :)
0
Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
sed 's/\*cut here\*//g' fichier
ne fonctionnerai pas ?
Sinon, perl+expression régulières sur internet.
0
Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
OUPS, en effet, mal lu l'énoncer.
Oublie ce que j'ai di.
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
hello
$ cat a1
1
2
3
4
cut here
5
6
7
8
9
$ sed -e '/cut here/,$ d' < a1
1
2
3
4
$ 
0