Использование diff/sdiff

У меня есть один текстовый файл, содержащий 78 номеров, а затем у меня есть другой текстовый файл, который содержит 63 номера, которые были извлечены из первого файла. Следовательно, в text1 15 чисел, которых нет в text2. Как я могу узнать, какие это?

Я пробовал команды, такие как "sdiff text1 text2", и не могу найти эти конкретные 15 чисел за всю мою жизнь. Я уверен, что это просто, но я, очевидно, скучаю по нему.

1 ответ

Использовать comm утилита

Например, в bash:

comm -23 <(sort -n textfile1) <(sort -n textfile2)
  • comm требует отсортированного ввода, следовательно, процесса замены.
  • По умолчанию, comm выводит 3 столбца: строки только в файле 1, строки только в файле 2, строки в обоих файлах.
  • -23 подавляет столбцы 2 и 3, т. е. команда выводит только строки, исключающие файлtextfile1,
Другие вопросы по тегам