Ответ 1
egrep -Rso '.{0,40}wp-content.{0,40}' *.sh
Это не будет называть Radio-Symphonie-Orchestra, но -o (nly matching).
Максимум 40 символов до и после вашего шаблона. Примечание: * e * grep.
Я хочу искать слово в нескольких файлах и возвращать только одну строку за результат или ограниченное число символов (например, 40 ~ 80 символов), а не всю строку, по умолчанию.
grep -sR 'wp-content' .
file_1.sql:3309:blog/wp-content
file_1.sql:3509:blog/wp-content
file_2.sql:309:blog/wp-content
В настоящее время я вижу следующее:
grep -sR 'wp-content' .
file_1.sql:3309:blog/wp-content-Progressively predominate impactful systems without resource-leveling best practices. Uniquely maximize virtual channels and inexpensive results. Uniquely procrastinate multifunctional leadership skills without visionary systems. Continually redefine prospective deliverables without.
file_1.sql:3509:blog/wp-content-Progressively predominate impactful systems without resource-leveling best practices. Uniquely maximize virtual channels and inexpensive results. Uniquely procrastinate multifunctional leadership skills without visionary systems. Continually redefine prospective deliverables without.
file_2.sql:309:blog/wp-content-Progressively predominate impactful systems without resource-leveling best practices. Uniquely maximize virtual channels and inexpensive results. Uniquely procrastinate multifunctional leadership skills without visionary systems. Continually redefine prospective deliverables without.
egrep -Rso '.{0,40}wp-content.{0,40}' *.sh
Это не будет называть Radio-Symphonie-Orchestra, но -o (nly matching).
Максимум 40 символов до и после вашего шаблона. Примечание: * e * grep.
Вы можете использовать комбинацию grep и cut
Используя ваш пример, я бы использовал:
grep -sRn 'wp-content' .|cut -c -40
grep -sRn 'wp-content' .|cut -c -80
Это даст вам первые 40 или 80 символов соответственно.
изменить:
Кроме того, theres флаг в grep, который вы можете использовать:
-m NUM, --max-count=NUM
Stop reading a file after NUM matching lines.
Это с комбинацией того, что я ранее писал:
grep -sRnm 1 'wp-content' .|cut -c -40
grep -sRnm 1 'wp-content' .|cut -c -80
Это должно дать вам первый раз, когда он появится в файле, и только первые 40 или 80 символов.
Если вы измените регулярное выражение на '^.*wp-content'
, вы можете использовать egrep -o
. Например,
egrep -sRo '^.*wp-content' .
Флаг -o
делает egrep только распечатывать часть строки, которая соответствует. Таким образом, совпадение с начала строки до wp-content
должно давать результат выборки в вашем первом блоке кода.