Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ajouter des numeros de ligne a un fichier texte

4 réponses
Avatar
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\n", 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\n", 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\n", 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

4 réponses

Avatar
Nicolas George
Olivier Miakinen wrote in message <4ab27e17$:
« awk '{ printf "%7d %sn", NR, $0 }' fichier » donne :



GNU cat -n.

Il paraît que pr a la même option, standard, mais je ne me suis jamais
servi de pr.
Avatar
Stephane CHAZELAS
2009-09-17, 20:21(+02), 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.


[...]

nl(1)?

--
Stéphane
Avatar
Stephane CHAZELAS
2009-09-17, 19:04(+00), Nicolas George:
Olivier Miakinen wrote in message <4ab27e17$:
« awk '{ printf "%7d %sn", NR, $0 }' fichier » donne :



GNU cat -n.



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.

Il paraît que pr a la même option, standard, mais je ne me suis jamais
servi de pr.



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
Avatar
Olivier Miakinen
Bonjour,

Le 17/09/2009 20:21, je demandais :

Il y a plus simple, pour au moins l'une des trois versions ?



Grâce à Nicolas George et Stéphane Chazelas, j'ai les réponses :

cat -n
nl -ba
pr -tn



Merci à tous les deux, c'est effectivement ce que je cherchais.

Cordialement,
--
Olivier Miakinen