Иногда нужно найти файл зная лишь часть текста находящегося внутри.
Во FreeBSD нет специальной команды реализующей данное условие.
И замечательная команда find не умеет делать это при помощи встроенных ключей.
Однако мы можем соорудить некую конструкцию которая позволит реализовать задуманное.
/usr/bin/find /etc/ -type f -exec grep -H "содержимое_которое_ищем" {} \;
где:
/etc/ - ищем в каталоге /etc вместе с подкаталогами;
-type f - ищем только файлы;
-exec - это ключ при помощи которого мы перенаправляем результат команды find ( в данном примере это каждый файл по очереди находящийся в каталоге /etc ) на вход дугой команды (в нашем случае grep);
grep -H вывести путь и имя файла если искомая строчка будет найдена;
"содержимое_которое_ищем" - искомая фраза;
{} -этими скобками мы указываем, куда подставлять имена файлов в выполняемой команде;
; - Точка с запятой говорит об окончании команды, вызываемой ключем -exec.