SergeyKulikov

Newbie | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Здравствуйте Помогите, пожалуйста, решить мою проблему. Задача: 1) В папке uploads найти все файлы с расширением jpg 2) В найденных файлах из пункта 1) найти все вхождения: <? любой код ?> 3) Вывести на экран название файлов с путями, где были найдены вхождения из пункта 2) Вот тут пример, какие вхождения должно находить: http://regexr.com?2uklt Пробовал так: 1) find /путь/uploads -name "*.jpg" | xargs grep -Eoi "<\?.*?\?>" Но я не знаю, как egrep-у дать понять, чтобы он искал не только: <? что-то ?> но также, чтобы искал и: <? что-то ?> То-есть я не знаю, как ему передать ключики gs *********************************************** 2) find /путь/uploads -name "*.jpg" | xargs perl -pe "m|<\?.*?\?>|gis" В этом примере тоже что-то не так сработало. Ключик -p просто выводит на экран все, где был поиск. Без ключа -p вообще никогда ничего не выводит Очень надеялся на этот способ. Всё-таки напрямую через perl делается поиск. Также поиск по регулярным выражениям есть в программах: find - не понял, как тут сделать поиск по регулярным выражениям. Ключ -regex меня почему-то не слушает или не понимает Midnight Commander - тут тоже есть регулярные выражения, но как сделать многострочный поиск не понимаю. Тоже очень надеялся на этот способ. FAR - тоже самое что и с Midnight Commander (тоже надеялся и тоже не получилось) notepad++ - тут тоже есть поиск по регулярным выражениям, правда уже POSIX (но тоже не получилось сделать многострочный поиск) Очень прошу! Помогите решить эту проблему. Добавлено: Ключи: s - Позволяет интерпретировать конец строки, как обыкновенный символ-разделитель. m - Многострочный режим, позволяющий находить совпадения в начале или конце строки, а не всего текста. i - Поиск без учета регистра. g - Применять выражение глобально, т.е. сколько раз встретилось, столько и сработало |