IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Des codes sources perlConsultez toutes les FAQ

Nombre d'auteurs : 13, nombre de questions : 59, dernière mise à jour : 27 mai 2011 

 
OuvrirSommaireQuelques unilignes perlTraitements de fichiersInsertion de lignes dans un fichier

Exemple illustratif pour l'insertion de "toto" à la ligne 4 du fichier text, avec backup du fichier d'origine en .bak.

 
Sélectionnez
perl -i.bak -lpe'print "toto" if $.==4' text
Créé le 2011-05-27  par Schmorgluck

Exemple illustratif pour l'insertion de "toto" avant chaque ligne du fichier text correspondant à la regex /lorem ipsum/, avec backup du fichier d'origine en .bak.

 
Sélectionnez
perl -i.bak -lpe'print "toto" if /lorem ipsum/' text
Créé le 2011-05-27  par Schmorgluck

Exemple illustratif pour l'insertion de "toto" après chaque ligne du fichier text correspondant à la regex /lorem ipsum/, avec backup du fichier d'origine en .bak.

 
Sélectionnez
perl -i.bak -lne'print ; print "toto" if /lorem ipsum/' text
Créé le 2011-05-27  par Schmorgluck

Exemple illustratif pour l'insertion de "toto" après la quatrième ligne du fichier text correspondant à la regex /lorem ipsum/, avec backup du fichier d'origine en .bak.

 
Sélectionnez
perl -i.bak -lne'print ; print "toto" if /lorem ipsum/ and ++$occurrence==4' text
Créé le 2011-05-27  par Schmorgluck

Exemple illustratif pour l'insertion de "toto" aux première, troisième et quatrième lignes du fichier text, avec backup du fichier d'origine en .bak.

 
Sélectionnez
perl -i.bak -lpe'print "toto" if  grep {$_==$.} (1,3,4)' text

Attention, les positions sont relatives aux anciennes positions des lignes. Puisqu'une insertion a déjà eu lieu à la première ligne, l'insertion effectuée à la troisième ligne se retrouve de fait en quatrième ligne, et ainsi de suite. Je n'ai pas trouvé de solution simple pour résoudre ce problème.

Créé le 2011-05-27  par Schmorgluck

Exemple illustratif pour l'insertion de "toto" après les première, troisième et quatrième lignes du fichier text correspondant à la regex /lorem ipsum/, avec backup du fichier d'origine en .bak.

 
Sélectionnez
perl -i.bak -lne'print ; print "toto" if /lorem ipsum/ and ++$occurrence and grep {$_==$occurrence} (1,3,4)' text
Créé le 2011-05-27  par Schmorgluck
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2011 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.