Bonjour,
Je vous savoir si il �tait possible d'ajouter des lignes d'�criture en t�te d'un fichier sans effacer son contenu.
Merci
Bonjour,
Je vous savoir si il �tait possible d'ajouter des lignes d'�criture en t�te d'un fichier sans effacer son contenu.
Merci
En principe, ce n'est pas possible. Il faut �crire ton en-t�te dans un nouveau fichier, puis recopier le contenu de ton fichier en entr�e, puis renommer les fichiers.
Ou �ventuellement faire un script uniligne du genre:
Sous Windows, remplacer les apostrophe par des guillemets et r�ciproquement.
Code : S�lectionner tout - Visualiser dans une fen�tre � part $perl -ni.bak -e 'print "Ceci est une entete\n" if $. == 1; print;' nom_fichier.txt
A tester d'abord sur une copie du fichier.
- La programmation fonctionnelle en Perl : 1. Les op�rateurs de liste; 2. Les fonctions d'ordre sup�rieur; 3. �tendre le langage.
- Comment utiliser des d�corateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 � Perl 6 : 1. Les bases; 2. Les nouveaut�s; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveaut�s de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et r�les en Perl 6 - Tutoriel de programmation orient�e objet
- Tour d'horizon du nouveau langage Perl 6
J'ai fait la 1ere solution.
Merci
Ou �ventuellement comme �a :
Code : S�lectionner tout - Visualiser dans une fen�tre � part $perl -pi.bak -e 'BEGIN { print "Ceci est une entete\n" }' nom_fichier.txt![]()
- La programmation fonctionnelle en Perl : 1. Les op�rateurs de liste; 2. Les fonctions d'ordre sup�rieur; 3. �tendre le langage.
- Comment utiliser des d�corateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 � Perl 6 : 1. Les bases; 2. Les nouveaut�s; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveaut�s de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et r�les en Perl 6 - Tutoriel de programmation orient�e objet
- Tour d'horizon du nouveau langage Perl 6
Ooops... Etrange... et un print STDOUT marche-t-il ?
Ce serait plut�t ARGVOUT mais �a ne marche pas non plus, peut-�tre pour de bonnes raisons (quel devrait �tre le comportement si on passe plusieurs fichiers en param�tre ?)
Ceci fonctionne avec plusieurs fichiers :
ceci aussi (-p au lieu de -n) :
Code : S�lectionner tout - Visualiser dans une fen�tre � part perl -i.bak -ne 'if ($lastARGV ne $ARGV) { print "ceci est un entête\n"; $lastARGV = $ARGV} print' test1.dat test2.dat ...
Code : S�lectionner tout - Visualiser dans une fen�tre � part perl -i.bak -pe 'if ($lastARGV ne $ARGV) { print "ceci est un entête\n"; $lastARGV = $ARGV}' test1.dat test2.dat...
par contre si on veut ajouter quelque chose en fin de fichier, ceci fonctionnemais je ne crois pas qu'il existe une solution avec -p ... On peut �videmment combiner les deux :
Code : S�lectionner tout - Visualiser dans une fen�tre � part perl -i.bak -ne 'print; print "ceci est un pied\n" if eof' test1.dat test2.dat ...
Code : S�lectionner tout - Visualiser dans une fen�tre � part perl -i.bak -ne 'if ($lastARGV ne $ARGV) { print "ceci est un entête\n"; $lastARGV = $ARGV} print; print "ceci est un pied\n" if eof' test1.dat test2.dat ...
Partager