Использование grep -rin со строковым значением подчеркивает

Я пытаюсь выполнить эту команду.

grep -rin "wp_get_attachment_url" *

Но подчеркивание (_) в строковом значении, похоже, портит команду grep. Как мне найти строковые значения с подчеркиванием?

2
задан 2 November 2011 в 01:05

1 ответ

Если wp_get_attachment_url на самом деле является URL-адресом, который должен интерпретироваться буквально, используйте одинарные кавычки, чтобы предотвратить интерпретацию символов оболочкой. Кроме того, используйте опцию -F в grep, чтобы избежать интерпретации шаблона как регулярного выражения.

http://example.com/?id=1, интерпретируемое как регулярное выражение, будет соответствовать http://example.comid=1 или http://example.com/id=1, но не http://example.com/?id=1.

Команда становится:

grep -rinF 'http://example.com/?id=1' *

Если шаблон содержит ', используйте '\'' для его выхода:

grep -rinF 'mornin'\'' all' *

Подсказка: * соответствует всем не скрытые файлы в текущем каталоге. Если вы также хотите сопоставить точечные файлы, просто рекурсивно выполните grep текущего каталога (-r):

grep -rinF 'search term' .
0
ответ дан 2 November 2011 в 01:05

Другие вопросы по тегам:

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