
Я ищу текст в файлах, но три файла — это много, и искомый текст встречается несколько раз в одном файле. Как мне получить список файлов, содержащий искомый текст, где каждый файл указан только один раз?
решение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'