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