Сравнение двух текстовых файлов и сохранение недостающего

Сравнение двух текстовых файлов и сохранение недостающего

У меня есть два текстовых файла:

первый текстовый файл:

Hello
Hi
Hola
Bonjour

Второй текстовый файл:

Hi 
Bonjour

Как я могу вывести различия между ними независимо от номера строки, т.е. я хочу сохранить вывод, который является

Hello
Hola

В новый текстовый файл

решение1

Неясно, что означают «различия», но вот что-то, что соответствует вашим данным на входе и выходе:

$ cat >1
Hello
Hi
Hola
Bonjour

$ cat >2
Hi
Bonjour

$ diff  --old-line-format=''  <(sort 1)  <(sort 2)  >new

$ cat new
Hi
Bonjour

решение2

Чтобы вывести целые строки, которые есть в первом файле, но отсутствуют во втором:

grep -vxFf second first

Либо отсортируйте файлы, а затем используйте comm:

comm -23 <(sort first) <(sort second)

решение3

Эту проблему можно решить с помощью команды awk:

awk 'NR==FNR{uu[$1]=1}NR!=FNR&&uu[$1]!=1{print}' second first  

Связанный контент