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 40842 Date d'inscription   Statut Modérateur Dernière intervention   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 9813 Date d'inscription   Statut Contributeur Dernière intervention   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 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
OUPS, en effet, mal lu l'énoncer.
Oublie ce que j'ai di.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
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