Algumas abordagens diferentes:
-
cat
$ cat -n file 1 Foo Ba Lk Q 2 Lorem ipsum doler
-
Perl
perl -pe 's/^/$. /' file
O
-pe
significa "imprimir cada linha de entrada depois de aplicar o script dado por-e
a 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 '$_ = "$. $_"' file
Em 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 doler
A variável especial
NR
é o número da linha atual e$0
da 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 doler
O
=
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 comandosed
os coloca novamente na mesma linha.