Comparando dois arquivos de texto e salvando os que faltam

Comparando dois arquivos de texto e salvando os que faltam

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  

informação relacionada