Para adicionar números de linhas em todas as linhas usando o comando shell?

2

Meu arquivo

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)

Arquivo de saída,

 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)
    
por pmaipmui 10.08.2015 / 05:23

2 respostas

9

Se você quiser o mesmo formato que você especificou

awk '{print NR  "> " $s}' inputfile > outputfile

caso contrário, o comando cat pode imprimir números de linha para você.

cat -n inputfile > outputfile
    
por 10.08.2015 / 05:31
17

A ferramenta certa para este trabalho é nl :

nl -w2 -s'> ' file

Você pode querer ajustar a opção w idth de acordo com o número total de linhas no arquivo (se quiser que os números sejam alinhados bem).

Saída:

 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)
    
por 10.08.2015 / 05:51