Eu tenho dois arquivos de texto:
primeiro arquivo de texto:
Hello
Hi
Hola
Bonjour
Segundo arquivo de texto:
Hi
Bonjour
Como posso gerar as diferenças entre eles, independentemente do número da linha, ou seja, quero salvar a saída que é
Hello
Hola
Em um novo arquivo de texto
Responder1
Não está claro o que significa "as diferenças", mas aqui está algo que atende às suas entradas e saídas:
$ cat >1
Hello
Hi
Hola
Bonjour
$ cat >2
Hi
Bonjour
$ diff --old-line-format='' <(sort 1) <(sort 2) >new
$ cat new
Hi
Bonjour
Responder2
Para gerar linhas inteiras que existem no primeiro arquivo, mas não no segundo:
grep -vxFf second first
Alternativamente, classifique os arquivos e use comm
:
comm -23 <(sort first) <(sort second)
Responder3
Usar o comando awk pode resolver este problema:
awk 'NR==FNR{uu[$1]=1}NR!=FNR&&uu[$1]!=1{print}' second first