LINUX.ORG.RU
ФорумAdmin

Регулярка для grep

 


0

1

Здравствуйте!
Помогите пожалуйста составить регулярку для поиска текста в файлах.
Я успешно применяю grep для поиска обычных фраз, типа

grep -rl 'text' papka
Но вот сейчас надо найти вот такие две переменные
$this->_AssembledEmail['Body']['t']
$this->_AssembledEmail['Body']['h']
причем, они могут быть как отдельные слова, так и в составе других символов, например
if (!is_null($this->_AssembledEmail['Body']['t']) || !is_null($this->_AssembledEmail['Body']['h']))

papka

Мамка!

$this->_AssembledEmail['Body']['t']

Экранировать все спецсимволы.

в составе других символов

Эээ? Фразы в составе символов? Может символы в составе фразы?

['t']

['h']

Если ты про это, то \['[a-z]'\].

mord0d ★★★★★ ()
Последнее исправление: mord0d (всего исправлений: 1)
Ответ на: комментарий от mord0d

Мамка!

Babushka

Так я экранировал!!!!!
Однако, экранировал или мало или много!
Пришлось брать таблицу спец. символов, проштудировать ее и после этого все получилось!
Спасибо!

rafaello ()

Для поиска просто текста есть fgrep или grep -F, в них ничего экранировать не нужно, разве что на уровне shell-а:

fgrep -rl "\$this->_AssembledEmail['Body']['t']" papka

Либо сохранить текст поиска в отдельный файл и искать

fgrep -rlf search.txt papka
spirit ★★★★★ ()