@ad_levchenko

Как создать регулярку поиска файлов, в названии которых от 3 до 5 символов?

Мне нужно написать регулярку, чтобы найти все файлы в директории, в названии которых есть от 3 до 5 любых символов, не учитывая при этом названия директорий, в которых лежат эти файлы.
  • Вопрос задан
  • 171 просмотр
Решения вопроса 2
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Вот такая хрень найдет все файлы jpg с именами от трех до пяти символов.
find . -type f -regextype sed -regex ".*/[A-Za-z0-9]\{3,5\}\.jpg"

5fbcb84f73e84267679101.png
Ответ написан
shambler81
@shambler81 Куратор тега Linux
Вот так
find . -type f  -regextype posix-egrep -regex ".*/(.{3,5})\.([^\.]+)$"

Собственно оно же но уже через греп, тут с подсветочкой но уже без возможности -exec но можно и пережить
В примере учтена и возможность встречи точки в имени файла и пробелы
find . -type f | grep -P "/(.{3,5})\.([^\.]+)$"

5fbce0da70e1a137878967.png
Спасибо кэп, отмечу решенным.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
smorman
@smorman
When In Rome do as The Romans do...
awk, sed , find, grep и т.д...
Ответ написан
@sand3001
Всего по немногу
Можно так, если конечно положить длину расширения 4 (точка плюс расширение)
find "path/to/dir/" -type f -printf "%f\n" | grep -E "^.{7,9}$"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы