Категорії
Misc, staff, other

[shell] Вывод строк которые есть в file1 и нет в file2.

После долгих колупаний diff со всевозможными комбинациями awk/sed нашлось довольно простое решение с использованием grep

grep -v -f file2 file1 > file3

Если файлы очень большие, то можно сделать так:

sort a.file > a.file.sorted
sort b.file > b.file.sorted
diff --speed-large-files a.file.sorted b.file.sorted

Так же можно использовать comm, которая позволяет работать с большими файлами. Выдержка из man’a:

comm {param} FILE1 FILE2
...
   -1     suppress column 1 (lines unique to FILE1)
   -2     suppress column 2 (lines unique to FILE2)
   -3     suppress column 3 (lines that appear in both files)
...

А для сравнения блочных устройств существует утилита bfcmp

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff