Сокет не разрешен в качестве параметра. Я положил открытый сокет внутри функций, и он работает.
find ./ -type f -exec grep -Hn "Text To Find" {} \;
Используйте-A и флаги-B для печати строк прежде и после соответствия:
find ./ -type f -exec grep -Hn -A1 -B1 "Text To Find" {} \;
также можно просто использовать grep:
grep -R -Hn -A1 -B1 "Text To Find" *
Для печати строк (с файлом, который содержит его):
find . -type f -exec grep "text" {} /dev/null \;
Видеть, что 2 строки следуют за строкой, которую добавляют соответствия -A2
после "grep" в вышеупомянутой строке, -B2
для этих двух строк прежде, и -C2
для обоих.
Можно использовать следующую альтернативу find
создайте для более быстрого поиска:
find . -type f -print0 | xargs -0 grep -Hn -C2 "Text To Find"
Вместо вызова grep
для каждого файла (который является что -exec ... {}
делает), это вызовет grep
для наборов файлов.
Обратите внимание что -print0
, -0
и -C2
опции не являются портативными (будет хорошо работать с вариантами GNU find
, xargs
и grep
программы т.е. большая часть Linux, BSD и т.д. установки, а также Cygwin и MinGW, но не ожидают, что они будут работать с "более старым" Солярисом, HPUX и т.д. устанавливает.)
find ./ -type f -exec egrep -H -B 2 -A 2 "Text" '{}' ';'