Para introduzir uma linha em branco em um arquivo na mesma posição das alterações nos atores em file1.txt
, tente:
$ awk -F '|' '{save=$0; getline<"file1.txt"} NR>1 && $2!=prev {print ""} {prev=$2; print save}' file2.txt
1234|oneflewovercuckoosnest^asgoodasitgets
5678|theshining
4321|batmanbegins^darkknight
O exemplo acima funciona um pouco como o seu código, exceto que ele é estendido para ler dois arquivos ao mesmo tempo. Ele lê a partir de file2.txt
e salva a linha na variável save
. Se, então, for lida de file.txt
e usando a mesma lógica do seu código, determina se o agente muda e, em caso afirmativo, imprime uma quebra de linha. Em seguida, imprime a linha recebida de file2.txt
.