LINUX.ORG.RU

ls + regexp


0

0

Здравствуйте. Опытным путем мне удалось установить что команда ls понимает регуляры. Т.е. написав

ls [^m]*.cpp

я получаю все файлы которые не начинаются с 'm'. Внимание, вопрос: как мне сделать так чтобы получить файлы которые не начинаются с фразы "moc_", но которые могут начинаться с m или любой другой буквы? Еще интересует следующее - это ls или bash понимает ругеляры? Ну и собственно, коментарии приветствуются.

ls не принимает regex. То что вы приняли за регексп - результат деятельности bash. Читать man bash EXPANSION.

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

> Про grep знал, интересны были регуляры в bash.

В bash регулярных выражений нет.

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

> Спасибо. Про grep знал, интересны были регуляры в bash.

вообще-то, это globbing, где-то еще называют wildchars... regexp-ы, видимо, не прижились из-за распостраненности в командной строке ".", "|", "$"

ps... в zsh есть pcre-модуль

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