- ВКонтакте
- РћРТвЂВВВВВВВВнокласснРСвЂВВВВВВВВРєРСвЂВВВВВВВВ
- РњРѕР№ Р В Р’В Р РЋРЎв„ўР В Р’В Р РЋРІР‚ВВВВВВВВРЎР‚
- Viber
- Skype
- Telegram
find -regex - проблемы с символьными классами
Столкнулся с проблемой, что не могу использовать в find -regex
символьные классы {1,3}
и \s
без которых мое выражение \s[0-9]{1,3}-22\s
не работает.
Пробовал экранировать на подобии find . -regex '\\s[0-9]\{1,3\}-22\\s'
- безуспешно.
Ответы (1 шт):
Автор решения: Intelligent Shade of Blue
→ Ссылка
По умолчанию find пользует emacs syntax для regex и не поддерживает интервалы ({}
).
Вы можете поменять синтаксис используя опцию -regextype
. Список поддерживаемых синтаксисов здесь.
Например egrep syntax подходит для вашей проблемы:
find . -regextype egrep -regex '.*\s[0-9]{1,3}-22\s.*'
Также нужно соответствие полному имени файла, поэтому в начало и конец добавлены .*
.
PS: Информация по синтаксисам находится в info page, т. е. info find
.