Ajouter des numeros de ligne a un fichier texte
Le
Olivier Miakinen
Bonjour,
À partir d'un fichier texte, je cherche à obtenir un autre fichier texte
dans lequel chaque ligne est numérotée, en gardant la même indentation
pour le texte d'origine (du moins tant qu'il n'y a pas des millions de
lignes). J'arrive à le faire avec des scripts awk, mais je voudrais
savoir s'il existe un utilitaire tout prêt qui ferait la même chose.
Par exemple, en partant de :
--
Première ligne
Deuxième ligne
Neuvième ligne
Dixième ligne
Millième ligne
--
« awk '{ printf "%7d %s", NR, $0 }' fichier » donne :
--
1 Première ligne
2 Deuxième ligne
9 Neuvième ligne
10 Dixième ligne
1000 Millième ligne
--
« awk '{ printf "%-7d %s", NR, $0 }' fichier » donne :
--
1 Première ligne
2 Deuxième ligne
9 Neuvième ligne
10 Dixième ligne
1000 Millième ligne
--
« awk '{ printf "%07d %s", NR, $0 }' fichier » donne :
--
0000001 Première ligne
0000002 Deuxième ligne
0000009 Neuvième ligne
0000010 Dixième ligne
0001000 Millième ligne
--
Il y a plus simple, pour au moins l'une des trois versions ?
Cordialement,
--
Olivier Miakinen
À partir d'un fichier texte, je cherche à obtenir un autre fichier texte
dans lequel chaque ligne est numérotée, en gardant la même indentation
pour le texte d'origine (du moins tant qu'il n'y a pas des millions de
lignes). J'arrive à le faire avec des scripts awk, mais je voudrais
savoir s'il existe un utilitaire tout prêt qui ferait la même chose.
Par exemple, en partant de :
--
Première ligne
Deuxième ligne
Neuvième ligne
Dixième ligne
Millième ligne
--
« awk '{ printf "%7d %s", NR, $0 }' fichier » donne :
--
1 Première ligne
2 Deuxième ligne
9 Neuvième ligne
10 Dixième ligne
1000 Millième ligne
--
« awk '{ printf "%-7d %s", NR, $0 }' fichier » donne :
--
1 Première ligne
2 Deuxième ligne
9 Neuvième ligne
10 Dixième ligne
1000 Millième ligne
--
« awk '{ printf "%07d %s", NR, $0 }' fichier » donne :
--
0000001 Première ligne
0000002 Deuxième ligne
0000009 Neuvième ligne
0000010 Dixième ligne
0001000 Millième ligne
--
Il y a plus simple, pour au moins l'une des trois versions ?
Cordialement,
--
Olivier Miakinen

Poser une question


GNU cat -n.
Il paraît que pr a la même option, standard, mais je ne me suis jamais
servi de pr.
[...]
[...]
nl(1)?
--
Stéphane
Note que, si l'option -n n'est pas standard, elle est supportee
par la plupart des implementations de cat et n'est pas GNU
specifique.
Oui, mais le -n de pr permet de specifier la largeur et le
separatur.
pr -tn' '3
par exemple.
Sinon, nl est fait pour ca.
Attention, nl et pr traite certains caracteres comme les sauts
de page specialement, bien lire la page de man.
--
Stéphane
Le 17/09/2009 20:21, je demandais :
Grâce à Nicolas George et Stéphane Chazelas, j'ai les réponses :
Merci à tous les deux, c'est effectivement ce que je cherchais.
Cordialement,
--
Olivier Miakinen