Algumas abordagens diferentes:
-
cat
$ cat -n file 1 Foo Ba Lk Q 2 Lorem ipsum doler -
Perl
perl -pe 's/^/$. /' fileO
-pesignifica "imprimir cada linha de entrada depois de aplicar o script dado por-ea ele". Em seguida, substituímos^(o início da linha) pelo número da linha ($.) e um espaço.Como alternativa, pois este é Perl e TIMTOWTDI :
perl -ne 'print "$. $_"' file perl -pe '$_ = "$. $_"' fileEm todos esses exemplos, se você quiser modificar o arquivo original, use
-i:perl -i -pe 's/^/$. /' file perl -i -ne 'print "$. $_"' file perl -i -pe '$_ = "$. $_"' file -
awk$ awk '{print NR,$0}' file 1 Foo Ba Lk Q 2 Lorem ipsum dolerA variável especial
NRé o número da linha atual e$0da linha atual. Para fazer a mudança no arquivo original (supondo que você tenha uma versão recente suficiente do GNU awk), faça:gawk -iinplace '{print NR,$0}' file -
sed$ sed = file | sed 'N;s/\n/\t/' 1 Foo Ba Lk Q 2 Lorem ipsum dolerO
=significa "imprimir o número da linha antes de cada linha". No entanto, isso imprime o número em uma linha sozinho e a linha de entrada sob isso. O segundo comandosedos coloca novamente na mesma linha.