LINUX.ORG.RU
ФорумTalks

тест на знание POSIX Regex


0

2

Есть: папочка /usr/include

Нужно: сделать регулярку, которая отсеет из содержимого этой папочки файлики, которые начинаются на py.

Например, предположим, что в папочке всего два файлика. тогда это должно работать так:

$ ls /usr/include/*
/usr/include/python3.1
/usr/include/wait.h
$ ls /usr/include/* | egrep "$MAGIC_REGEX"
/usr/include/wait.h

Вот нужно, чтобы работало для большого числа файликов и на py тоже начинается не один. Ключ -v для grep использовать нельзя, потому что эта регулярка на самом деле не в grep пойдёт.

Кто первый справится — тому поставим лайки или что тут сейчас ставят на ЛОРе.

★★
Ответ на: комментарий от redgremlin

Ибо используй микроскоп для инфузорий всяких, а гвозди оставь молотку. По желанию -print можно заменить на -exec mysuperscript.

redgremlin ★★★★★
()
Ответ на: комментарий от GotF

Не то. Так отваливаются все файлики, который начинаются либо на p либо на y, а это очень много файликов, которые должны остаться.

name_no ★★
() автор топика
Ответ на: комментарий от urxvt

Тоже не то, отбрасывает все файлы, начинающиеся на p.

name_no ★★
() автор топика

sed -rn '\~/py[^/]+$~p'

в grep'е не помню как.

drBatty ★★
()
Ответ на: комментарий от uzbl

О, спасибо. А то регексп в mksquashfs запихать так и не получилось, зато вот это — получилось.

name_no ★★
() автор топика

ls -1 /usr/include/ | grep '^[^p][^y]'

Оно? Все комменты не читал

dexpl ★★★★★
()
Ответ на: комментарий от jcd

а почему не ^py.* ?

Нужно сохранить /usr/include/

name_no ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.