Isso faz a comparação da perspectiva de fileA
:
$ awk 'FNR==NR{a[NR]=$0;next;} $0!=a[FNR]' fileB fileA
this is a string
empty string
Essa abordagem lê todo o fileB
na memória. Assim, se seus arquivos são enormes (muito grandes para memória), você deve escolher outra abordagem.
Similarmente, para obter a saída da perspectiva de fileB
:
$ awk 'FNR==NR{a[NR]=$0;next;} $0!=a[FNR]' fileA fileB
this is A string
Empty string
Mais abordagem eficiente de memória
Essa abordagem só lê em duas linhas por vez e, portanto, é mais eficiente em termos de memória. Da perspectiva de FileA
:
$ awk '{a=$0;getline <"fileA";} $0!=a' fileB
this is a string
empty string
Da perspectiva de fileB
:
$ awk '{a=$0;getline <"fileB";} $0!=a' fileA
this is A string
Empty string