sed, чтобы искать несколько слов и удалить те строки

apt-get в оболочке-searchpath кронов?

Это всегда - хорошая практика для использования полного пути для внешних команд в заданиях крона.

4
17.11.2018, 11:46
2 ответа

Предполагая, что 20000-words.txt уже находится в формате одного слова в строке, выполните:

grep -vFf 20000-words.txt 50000-lines.txt >50000-filtered-lines.txt

Аргумент -f для grep указывает ему читать шаблоны из файла, один шаблон на строку, вместо того, чтобы принимать их в качестве аргументов командной строки. Аргумент -F для grep сообщает ему, что шаблоны следует использовать как буквальные строки, а не как регулярные выражения.

9
27.01.2020, 20:48

Чтобы сделать это без grep и предположить, что у вас нет дублированных строк, вы можете:

$ sort 20000-words.txt 50000-lines.txt | uniq -u

или:

$ comm -23 <(sort 50000-lines.txt) <(sort 20000-words.txt)
1
27.01.2020, 20:48

Теги

Похожие вопросы