Mon fichier,
PSS-A (Primary A)
PSS-B (Primary B)
PSS-C (Primary C)
PSS-D (Primary D)
PSS-E (Primary E)
PSS-F (Primary F)
PSS-G (Primary G)
PSS-H (Primary H)
PSS-I (Primary I)
SPARE (SPARE)
Fichier de sortie,
1> PSS-A (Primary A)
2> PSS-B (Primary B)
3> PSS-C (Primary C)
4> PSS-D (Primary D)
5> PSS-E (Primary E)
6> PSS-F (Primary F)
7> PSS-G (Primary G)
8> PSS-H (Primary H)
9> PSS-I (Primary I)
10> SPARE (SPARE)
Si vous voulez le même format que vous avez spécifié
awk '{print NR "> " $s}' inputfile > outputfile
sinon, bien que non standard, la plupart des implémentations de la commande cat
peuvent imprimer des numéros de ligne pour vous (nombres remplis à la largeur 6 et suivis de TAB dans au moins les implémentations GNU, busybox, Solaris et FreeBSD).
cat -n inputfile > outputfile
Ou vous pouvez utiliser grep -n
(nombres suivis de :
) avec une expression rationnelle comme ^
qui correspond à n'importe quelle ligne:
grep -n '^' inputfile > outputfile
Le bon outil pour ce travail est nl
:
nl -w2 -s'> ' file
Vous voudrez peut-être régler l'option w
idth en fonction du nombre total de lignes dans le fichier (si vous voulez que les nombres soient bien alignés).
Production:
1> PSS-A (Primary A)
2> PSS-B (Primary B)
3> PSS-C (Primary C)
4> PSS-D (Primary D)
5> PSS-E (Primary E)
6> PSS-F (Primary F)
7> PSS-G (Primary G)
8> PSS-H (Primary H)
9> PSS-I (Primary I)
10> SPARE (SPARE)
j'ai fait par la méthode ci-dessous
commande: cat -n filename |sed -r "s/^\s+//g"| sed "s/^[0-9]*/&\> /g"
production
cat -n u.txt |sed -r "s/^\s+//g"| sed "s/^[0-9]*/&\> /g"
1> PSS-A (Primary A)
2> PSS-B (Primary B)
3> PSS-C (Primary C)
4> PSS-D (Primary D)
5> PSS-E (Primary E)
6> PSS-F (Primary F)
7> PSS-G (Primary G)
8> PSS-H (Primary H)
9> PSS-I (Primary I)
10> SPARE (SPARE)