Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » UNIX » Многострочный поиск + регулярные выражения (PCRE)

Модерирует : ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

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 - Применять выражение глобально, т.е. сколько раз встретилось, столько и сработало

Всего записей: 24 | Зарегистр. 09-02-2011 | Отправлено: 10:29 08-09-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergeyKulikov
Первое на что стоит обратить внимание это на свою внимательность и/или зрение - UNIX Shell: sh, bash, zsh; Coreutils и ко.; sed, awk, perl;. Не надо попусту темы плодить...
 
Постараюсь ответить в указанной теме.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 14:57 08-09-2011
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Операционные системы » UNIX » Многострочный поиск + регулярные выражения (PCRE)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru