Как распечатать строку, которая соответствует моему текстовому использованию, находят в Linux?

Сокет не разрешен в качестве параметра. Я положил открытый сокет внутри функций, и он работает.

6
задан Eduardo 20 February 2009 в 22:59
поделиться

5 ответов

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" *
16
ответ дан 8 December 2019 в 05:24
поделиться

Почему не просто grep?

grep -r -C2 "Text To Find" *
2
ответ дан 8 December 2019 в 05:24
поделиться

Для печати строк (с файлом, который содержит его):

find . -type f -exec grep "text" {} /dev/null \;

Видеть, что 2 строки следуют за строкой, которую добавляют соответствия -A2 после "grep" в вышеупомянутой строке, -B2 для этих двух строк прежде, и -C2 для обоих.

1
ответ дан 8 December 2019 в 05:24
поделиться

Можно использовать следующую альтернативу 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 и т.д. устанавливает.)

3
ответ дан 8 December 2019 в 05:24
поделиться
find ./ -type f -exec egrep -H -B 2 -A 2 "Text" '{}' ';'
1
ответ дан 8 December 2019 в 05:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: