Как вернуть имя файла и номер строки с помощью find … -exec grep?

При использовании find , как мне вернуть имя файла и номер строки при поиске строки? Мне удается вернуть имя файла в одной команде и номера строк с другим, но я не могу их комбинировать.

Имена файлов: find . -type f -exec grep -l 'string to search' {} \; find . -type f -exec grep -l 'string to search' {} \;

Номера строк: find . -type f -exec grep -n 'string to search' {} \; find . -type f -exec grep -n 'string to search' {} \;

3 Solutions collect form web for “Как вернуть имя файла и номер строки с помощью find … -exec grep?”

Переключатель командной строки -H заставляет grep печатать имя файла даже с одним файлом.

 % grep -n 7 test.in 7:7 % grep -Hn 7 test.in test.in:7:7 

  -H, --with-filename Print the filename for each match. 

Обратите внимание, что, как отмечает Kojiro в комментарии , это не является частью стандарта POSIX; это как в GNU, так и в BSD grep, но возможно, что некоторые системы не имеют его (например, Solaris).

 find . -type f -exec grep -n 'string to search' /dev/null {} + 

(или с GNU grep, см. параметр -H )

Если ваш grep поддерживает рекурсивный флаг -r , это решает ваш запрос:

 grep -rn "String to search " * 
  • grepping foo и bar
  • Как удалить несколько строк из файла с помощью оболочки
  • Скрипт для поиска трех разных пользователей в Интернете и печати
  • sed / awk / grep найти строку между точкой с запятой
  • Сравнение первого столбца в разных файлах
  • Получить переменную из строки
  • строковые манипуляции без awk или sed
  • grep: обратная косая черта
  • как использовать grep -v в сценарии ожидания
  • Как перечислить файлы резервных копий, отсутствующие в соответствующих файлах?
  • Как сделать фильтр более эффективным
  • Interesting Posts

    Запуск сценария bash как root предотвращает асинхронное выполнение?

    Что означает «d» в результатах ls -al и что называется этим слотом?

    Linux Mint Petra (16) Обновление Java от JRE 7 до JRE 8 разбивает графическую систему?

    Диски SATA ssd

    Как проверить действительные каталоги $ PATH и вывести их, указав, действителен ли каждый из них?

    Отключить SSLv3 В cURL?

    VM в режиме моста, нет свободного места в буфере

    Перепишите аргументы перед передачей их команде

    Как избежать пробелов при использовании взаимодействия истории bash?

    Как написать / отредактировать / обновить переменную eIi OsIndications из командной строки?

    Сценарий оболочки для удаления всех файлов, которые являются более старыми

    Pxeboot: клиент не получает IP-адрес от DHCP-сервера

    Linux Mint GUI остается черным после входа в систему

    Как установить переменную среды?

    Как мне изменить адрес FROM с помощью mailx на FreeBSD из командной строки?

    Linux и Unix - лучшая ОС в мире.