Supprimer une ligne contenant une chaine de caractère

Supprimer une ligne contenant une chaine de caractère - Perl - Programmation

Marsh Posté le 15-08-2007 à 17:19:30    

Salut à tous,
 
j'aurai besoin d'un coup de main, j'ai un fichier txt de quelques milliers de lignes, j'aimerai simplement supprimer toutes les lignes contenant l'expression : (sitout)  
 
avec les parentèses bien sur.
 
D'avance merci pour votre aide.

Reply

Marsh Posté le 15-08-2007 à 17:19:30   

Reply

Marsh Posté le 15-08-2007 à 17:34:15    

Teyl69 a écrit :

Salut à tous,
 
j'aurai besoin d'un coup de main, j'ai un fichier txt de quelques milliers de lignes, j'aimerai simplement supprimer toutes les lignes contenant l'expression : (sitout)  
 
avec les parentèses bien sur.
 
D'avance merci pour votre aide.


 
 
Je viens de trouver un truc qui fait ça très bien, mais ce n'est pas du Perl :
 
 sed -e '/sitout/d' fichiersource.txt > fichierdesortie.txt

Reply

Marsh Posté le 15-08-2007 à 18:30:35    

Facilement, tu peut utiliser les expressions régulières et remplacer la chaine de caractère par rien.

Reply

Marsh Posté le 16-08-2007 à 14:07:33    

En perl :

while (<> ) { print unless /\(sitout\)/ }


Message édité par matafan le 16-08-2007 à 14:08:07
Reply

Marsh Posté le 28-08-2007 à 14:30:53    

perl -wp -i -e 's/^.*(sitout)*.$//s' [nom du fichier]
 
(le -i peut être suivit d'une extension pour sauvegarder le fichier d'origine : ex -i.bak pour sauvegarder le fichier original en .bak)
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed