2016-01-29 5 views
0

Я ищу файлы для поиска через SSH командой grep, но у меня есть специальные символы. Строка Я ищу это: "$GLOBALS['....'];"
Я попробовал это одинSSH - Grep со специальными символами и *

grep -r -H "\$GLOBALS\\['*'\\]\;" /var/www/ 

, но ничего не происходит. Любая помощь будет приветствоваться.

ответ

0

Ваш RE на самом деле соответствует «$ GLOBALS ['' '' '' '];" с одним или несколькими »там. попробовать это один:

grep -rHP "[$]GLOBALS\['.*?']\;" file 

Я использую [$] вместо \ $, это потому, что убегание ИНАЧЕ НЕОЧЕВИДНЫЙ, некоторые среды вам нужно использовать \\\$.

Update, менее 10 символов внутри []:

grep -rHP "[$]GLOBALS\['.{0,10}']\;" file 
+0

Спасибо. Если я хочу найти строку, содержащую менее 10 символов между [], есть ли способ сделать это? PS: Я пытаюсь создать скрипт для проверки зараженных файлов и их очистки. –

+0

@GhaithJ. обновлено. – POW

Смежные вопросы