2015-04-16 5 views
0

У меня есть ситуация, когда мне нужно использовать grep для сопоставления строк, а опция использования переключателя -F недоступна. Причина, по которой он недоступен, вызывает grep из сторонней библиотеки, над которой я не контролирую.Предотвращение синтаксиса синтаксического анализа синтаксического анализа синтаксического анализа при использовании -F отсутствует

Строка Я пытаюсь соответствовать точно

0 2 * * * /usr/bin/find /data/app-logs/ -mindepth 1 -mtime +14 -a \(-name "*.log*" -o -name "*.out*" -o -name "*.err*" \) -delete

, поэтому запись кронтаб. Требуется обратная косая черта.

Grep версия используется в:

grep (GNU grep) 2.5.1

Я попытался избежать всех [*\.] персонажей, как я считаю, что это все, что нужно избежать при регулярном Grep, но безрезультатно. Поблагодарили бы за помощь. Я уверен, что это что-то маленькое, что мне не хватает.

+1

См http://stackoverflow.com/questions/407523/escape-a-string-for-a-sed-replace-pattern. Символы, требующие экранирования, следующие: '' 'sed -e 's/[\/&]/\\ &/g'''' –

+0

У вас есть источник сторонней библиотеки, или вы можете иначе связать его вызов 'grep'? Это делается через оболочку или системный вызов или через какую-либо форму 'exec'? –

+0

Не уверен, что это то, что вы хотите: 'grep '^ 0 2 \ * \ * \ */usr/bin/find/data/app-logs/-mindepth 1 -mtime +14 -a \\\ (-name \ "\ * \. log \ * \" -o -name \ "\ * \. out \ * \" -o -name \ "\ *. err \ * \" \\\) -delete $ "myfile' –

ответ

0
grep '0 2 \* \* \* /usr/bin/find /data/app-logs/ -mindepth 1 -mtime +14 -a \\(-name "\*\.log\*" -o -name "\*\.out\*" -o -name "\*\.err\*" \\) -delete' testfile 

- tripleee

+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. – Martin

+0

Вы не должны быть так счастливы с вашим комментарием по вырезанию и вставке - ссылки вообще нет. – Armali

+0

Я вижу ваш пункт @Армали, я думаю, что, возможно, у SO должен быть автокомментарий для «Кода только ответы», поскольку код без объяснений не очень учить. Что-то для мета ...... – Martin

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