A voir également:
- Copier un fichier tout en supprimant des lignes
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Impossible de supprimer un fichier - Guide
- Fichier rar - Guide
1 réponse
Salut Bulld0,
Avec Perl, tu peux utiliser les modificateurs m et s pour traiter le contenu de la regexp comme matchant de multiples lignes sur une seule et matcher BEGIN et END et les caractères de début et fin de lignes sur lesquelles ils sont autant de fois que nécessaire pour faire tes substitutions.
Par exemple, comme cela :
Dal
Avec Perl, tu peux utiliser les modificateurs m et s pour traiter le contenu de la regexp comme matchant de multiples lignes sur une seule et matcher BEGIN et END et les caractères de début et fin de lignes sur lesquelles ils sont autant de fois que nécessaire pour faire tes substitutions.
Par exemple, comme cela :
#!/usr/bin/perl use strict; use warnings; my $st = <<EOT; Bonjour à vous! BEGIN Je suis débutant en langage de programmation "Perl" et je voudrais savoir si quelqu'un sait comment, dans un script, je peux copier un fichier et son contenu mais en enlevant par la meme occasion des lignes présentes dans ce fichier qui sont comprisent entre deux phrases ? END Par exemple : je souhaite copier le fichier toto.conf ailleurs tout en supprimant les lignes comprises entre les mot BEGIN et END. BEGIN J'ai essaye avec la commande sed '/BEGIN/, /END/d' toto.conf mais ca ne fonctionne pas ! Help ! :) Et ce qu'il me faut, c'est une suppresion et une sauvegarde du nouveau fichier (sans les lignes en gros) END Merci beaucoup de votre aide EOT ; while ($st =~ m/(.*?)(^BEGIN.*?^END$)(.*)/msg) { $st = $1 . $3; } print "$st";
Dal