У меня проблема с поиском и регулярным выражением. Я хотел бы найти файлы в /etc, имя которых начинается с a или b. Я попробовал эти команды:
find /etc -type f -regex '^a'
find /etc -regextype sed -regex "^a"
find /etc -regextype egrep -regex '^a'
find /etc -regextype posix-egrep -regex '^a'
Но не работает. У меня 20 файлов в /etc, имена которых начинаются с a, но мой regexp не находит эти файлы. Что я делаю не так?
С уважением Павел
решение1
-regex
соответствует полному пути, а не только имени файла.
Самое близкое, что пришло мне в голову, это:
find /etc -type f -regex '.+/[ab][^/]+'
Это соответствует a /
, за которым следует a
или b
, за которым следует все, что не является another /
.
решение2
Раньше это было очень просто:
find /etc -type f -name 'a*'