когда делаешь что-то вроде этого:

cat *.* | grep mystring

Можно ли узнать, из какого файла происходит каждое совпадение? Если нет, что будет альтернативой?

1 ответ1

3

Используйте grep -l:

-l, --files-with-matches Suppress normal output; instead print the name of each input file from which output would normally have been printed.

Например

$ echo foo > file1 $ echo bar > file2 $ grep -l foo * file1

Или с номерами строк, где произошла строка:

$ grep -rn foo . file1:1:foo

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .