nl -v "$((1+$(wc -l < file1)))" file2 >> file1
nl
é uma ferramenta para n umber l ines de um arquivo. A opção -v
fornece o valor inicial dos números de linha. Eu uso um subshell e wc
para obter uma contagem de linha de file1
, e adiciono um a ele para obter o número da linha inicial para file2
e concateno os resultados no final de file1
.
Observe que wc -l file1
imprimiria a contagem de linha seguida do nome do arquivo, mas como redirecionamos o stdin de wc
para vir de file1
, a própria ferramenta wc
não sabe nada sobre o nome do arquivo para file1
e apenas imprime apenas a contagem de linhas (com alguns espaços em branco que não importam neste contexto).
Isso pode ser feito ligeiramente de forma mais limpa usando apenas awk
e nl
:
nl -v $(awk 'END { print NR + 1 }' file1) file2 >> file1