Para o caso em que as linhas são na mesma ordem, há uma solução muito mais limpa usando paste
para combinar os arquivos antes do processamento. O comando paste file1 file2
irá mesclar as linhas correspondentes de file1
e file2
, assim:
$ cat file1
judi /export/home 76
judi /usr 83
$ cat file2
judi /export/home 79
judi /usr 82
$ paste file1 file2
judi /export/home 76 judi /export/home 79
judi /usr 83 judi /usr 82
Você pode usar isso em um pipeline para awk
da seguinte forma:
$ paste file1 file2 | awk '$6 > $3 {print $4, $5, $6}'
judi /export/home 79
É claro que isso não funcionará corretamente se as linhas não estiverem na mesma ordem (como no seu caso), mas responder à pergunta do título: "Compare os valores da coluna de dois arquivos usando o awk".