Grep/Gawk - если строка содержит добавить в found.txt

Итак, в основном у меня есть один файл, содержащий электронную почту, и еще 100 файлов, содержащих электронную почту IP-телефона.

Так что было интересно, можно ли проверить, содержит ли строка из папки, содержащей 100 файлов .txt, адрес электронной почты@email.com.

пример find.txt,

   [email protected]
   [email protected]
   [email protected]

и так далее..

пример 100txtfiles

   0.0.0.0       002921931      [email protected]
   123.0.0.1 00029382    [email protected]

и так далее..

Так что я хочу, если строка 100txtfiles содержит электронную почту из find.txt, а затем выводит в found.txt


person wolf pkrs    schedule 18.10.2016    source источник
comment
Что вы пробовали? и что вы хотите получить в найденном .txt? вся линейка?   -  person Tensibai    schedule 18.10.2016


Ответы (2)


эта строка должна работать для вас:

grep -Ff find.txt /dir/to/100.txt/*.txt > found.txt

Если вам просто нужно имя файла, добавьте опцию -l:

grep -Flf find.txt .....

попробуйте.

person Kent    schedule 18.10.2016

В авке:

$ awk 'NR==FNR{a[$1];next} ($3 in a)' find.txt path_to_100_files/*
   0.0.0.0       002921931      [email protected]

В конце концов вы захотите перенаправить вывод на found.txt с помощью > found.txt после приведенной выше команды. Вывод - это то, что есть, поскольку вы не включили ожидаемый результат в свой вопрос.

person James Brown    schedule 18.10.2016