Как вы grep и только вернуть соответствующую строку? то есть путь / имя файла опускается в результатах.
В этом случае я хочу просмотреть все файлы .bar в текущем каталоге в поиске термина FOO.
find . -name '*.bar' -exec grep -Hn FOO {} \;
Как вы grep и только вернуть соответствующую строку? то есть путь / имя файла опускается в результатах.
В этом случае я хочу просмотреть все файлы .bar в текущем каталоге в поиске термина FOO.
find . -name '*.bar' -exec grep -Hn FOO {} \;
Ответы:
Нет необходимости find
. Если вы просто ищете шаблон в определенном каталоге, этого должно быть достаточно:
grep -hn FOO /your/path/*.bar
Где -h
находится параметр, чтобы скрыть имя файла, начиная с man grep
:
-h, --no-filename
Подавить префикс имен файлов на выходе. Это значение по умолчанию, когда для поиска требуется только один файл (или только стандартный ввод).
Обратите внимание, что вы использовали
-H, --with-filename
Напечатайте имя файла для каждого совпадения. Это значение по умолчанию, когда для поиска требуется более одного файла.
alias grep
. Чтобы опустить псевдоним, введите\grep ...