Файл a.txt
содержит около 100 тыс. Слов, каждое слово в новой строке
july.cpp
windows.exe
ttm.rar
document.zip
Файл b.txt
содержит 150 000 слов, одно слово за строкой - некоторые слова из файла a.txt
, но некоторые слова являются новыми:
july.cpp
NOVEMBER.txt
windows.exe
ttm.rar
document.zip
diary.txt
Как я могу объединить эти файлы в один, удалить все повторяющиеся строки и сохранить строки, которые являются новыми (строки, которые существуют, a.txt
но не существуют b.txt
, и наоборот)?
text-processing
Kate-Кася
источник
источник
Ответы:
Существует команда , чтобы сделать это:
comm
. Как указано вman comm
, это просто:Обратите внимание, что
comm
ожидается сортировка содержимого файлов, поэтому вы должны отсортировать их перед вызовомcomm
, вот так:Итак, подведем итог:
После вышеперечисленных команд у вас появятся ожидаемые строки в
result.txt
файле.источник
Вот короткий скрипт на python3, основанный на ответе Джермара , который должен выполнить это, сохранив
b.txt
несортированный порядок.источник
источник
Посмотрите на команду coreutils
comm
-man comm
Так, например, вы можете сделать
(уникальные строки
b.txt
)источник