Как сравнить два файла и создать другой файл, который не находится в первом файле?

file1 содержит:

 100 200 300 400 

file2 содержит:

 500 600 700 200 300 

Ожидаемым выходным файлом будет:

 500 600 700 

  • Как фильтровать строки с одинаковой датой в разных форматах
  • удалить символ возврата каретки из большого двоичного файла
  • Как извлечь размер файла с помощью du
  • получить числовое значение ASCII для символа
  • Самый быстрый способ найти и заменить строку в многочисленных файлах HTML
  • Команда для печати нескольких последовательных строк из середины файла
  • Если строка соответствует в файле, как выводить конкретную строку (строки), которая не встречается на определенном расстоянии от сопоставленной строки?
  • Как я могу «лениво» читать вывод из xrandr?
  • 2 Solutions collect form web for “Как сравнить два файла и создать другой файл, который не находится в первом файле?”

    Если вы не возражаете, сортировка выводится, вы можете использовать comm .

     comm -13 <(sort /tmp/file1) <(sort /tmp/file2) 

    Выход (неявно отсортированный):

     500 600 700 

    С join :

     join -j 1 -v 2 <(sort file1) <(sort file2) 

    Где:

    • -j определяет поле объединения
    • -v для подавления соединенных линий

    Или с awk :

     awk 'NR==FNR{a[$1]++} !a[$1]' file1 file2 
    • Первый файл загружен и массив
    • а затем, когда второй файл обрабатывается и если это значение в a отсутствует, распечатайте строку
    Linux и Unix - лучшая ОС в мире.