grep вывести список каждого файла один раз

grep вывести список каждого файла один раз

Я ищу текст в файлах, но три файла — это много, и искомый текст встречается несколько раз в одном файле. Как мне получить список файлов, содержащий искомый текст, где каждый файл указан только один раз?

решение1

grep -l xyz file*

где xyz — шаблон поиска, а file* — список файлов, в которых будет выполняться поиск.

решение2

grep -l LIST PATTERNэто путь. В качестве альтернативы можно использовать, xargsчтобы сделать то же самое:

xargs grep "My Search Pattern"  < input.txt 

xargsособенно полезно, когда вы хотите использовать grepнесколько имен файлов, переданных из канала, например:

find ~/Documents ~/bin -print0 | xargs -0 grep 'Search Term'

Связанный контент