![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| UNIX для чайников Вопросы И Ответы Если вы не уверены в том, где разместить UNIX или Linux вопрос, задайте его здесь. Все UNIX и Linux приветствуем новичков!! |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Вопрос о регулярных выражений | Katkota | UNIX для чайников Вопросы И Ответы | 14 | 05-18-2008 06:11 PM |
| Вопрос (регулярные выражения, связанные) | metalwarrior | UNIX для чайников Вопросы И Ответы | 1 | 02-03-2008 11:51 PM |
| Регулярные выражения вопрос | umen | Shell программирование и сценарии | 7 | 11-21-2007 09:45 PM |
| Регулярные выражения Вопрос | Krispy | UNIX для чайников Вопросы И Ответы | 3 | 01-20-2006 10:36 AM |
| Вопрос о регулярных выражений | brentdeback | Shell программирование и сценарии | 0 | 11-14-2005 04:04 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Людей;
У меня 3 вопроса И никакой помощи с ними будут очень благодарны: Если у меня есть список директорий, например: / fs/pas/2007/4/6/2634210/admdat/examin / fs/pas/2007/4/6/2634210/admdat2/stat / fs/pas/2007/4/6/2634210/admdat3/data / fs/pas/2007/4/6/2634210/im_2/0b.dcm Теперь мои вопросы: 1. Как использовать RE извлечения последнего файла, такие как "examin и стат ,..."? 2. Как использовать RE извлечь родительский каталог для последнего файла. такие, как "amdat, amdat2, im_2 ,..."? 3. Как использовать RE извлечь дату в середине "2007/4/6"? |
|
||||
|
Разве мы говорим Perl или grep или что-то еще здесь? Есть много разных Regex вкусов и соответствия стратегии будет также зависеть от того, что инфраструктура имеется в инструмент.
Для Perl, Что-то вроде M% / (\ D (4) / \ D (1,2) / \ D (1,2)) / \ D +/([^/]+)/([^/]+)$% будет получить подстроками Вам запрос на $ 3, $ 2, $ 1, соответственно. Последний раз редактировалось эры; на 05-14-2008 03:58 PM.. Основание: Добавить м %...% обертка |
|
||||
|
Не Perl, Просто нормальные grep
|
|
||||
|
grep, как правило, возвращает весь соответствия линии в любом случае.
Регулярное выражение должно работать с grep, как таковой, если сделать несколько незначительных замен. \ D является Perlism заменить с [0-9]. (4) является egrep-ISM, хотя POSIX grep она в той или иной форме, тоже (может быть, с слэш перед скобки), или можно просто поставить требуемое количество повторений. Вам будет трудно найти такую ситуацию, когда вы можете получить именно только необходимые части вне grep, хотя. [0-9] [0-9] [0-9] [0-9] / [0-9] [0-9] / [0-9] [0-9], и будет [^/]*$ все еще работает, но на предпоследнем каталоге я не думаю, что можно получить без прохождения через SED или что-то подобное. |
|
||||
|
Я сделал это, чтобы получить последнюю директорию в дереве И все мне нужна такая же из них:
.*/([^/ \ N \ R ]*?)$ |
|
||||
|
Если в том числе последний каталог компонент также является приемлемым, то вы можете сделать [^/]*/[^/]*$ для получения последней и предпоследней каталога (# 1 и # 2 половина), а затем, если вы отделкой # 1 и последняя черта, вы получите реальный ответ на # 2.
*? это, безусловно, не просто старая grep регулярного выражения. Что такое точка этого мероприятия? |
![]() |
| Закладки |
| Теги |
| AWK, AWK отделкой, grep или, Perl, Perl Regex, Regex, отделка, отделка AWK |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|