LINUX.ORG.RU

Как из одного txt файла удалить все строки которые встречаются в другом txt файле

 


0

2

Всем доброго времени суток! Как из одного txt файла удалить все строки которые встречаются в другом txt файле. Пример строк в файлах: 1.txt:

2.txt:

должен выйти результат: result.txt:

Ну нужно сравнивать не полностью всю строку, а только домены которые находяться между символами //тут домен/



Последнее исправление: Karpov680 (всего исправлений: 7)

Если правильно, то вот так:

 perl -e 'open($fAll, "<file.txt"); open($fExcl, "<excl.txt"); foreach (<$fExcl>) { $host=$_; $host =~ s#^.+//##g; $host =~ s#/.*##g; $hash{$host}=1} foreach (<$fAll>) {$host=$_; $host =~ s#^.+//##g; $host =~ s#/.*##g; if (!exists($hash{$host})) {print $_}} '

Свои некорректные комментарии удалил.

PHPFan
()
Ответ на: комментарий от PHPFan

Спасибо большое все работает. хотел еще спросить, как сделать чтоб результат сохраняло в txt файл, а не выводило результат в терминале

Karpov680
() автор топика
Ответ на: комментарий от Karpov680

Пожалуйста. :) В конце команды можно добавить > [файл]. Например,

perl -e '...' > rezultat.txt
PHPFan
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.