Найти регулярное выражение с диапазоном дат в имени файла

У меня есть файлы в папке, как

file_2017-01-01.jpg    
file_2017-02-20.jpg    
file_2017-05-10.jpg    
file_2017-09-01-jpg    
file_2017-10-25.jpg    
file_2017-11-04.jpg    
file_2017-12-22.jpg

Как я могу использовать команду find для вывода списка файлов из file_2017-01* в file_2017-10*?

find . -regextype posix-awk -regex ".*2017-[01-10]*" не работает

Тоже нет, find . -maxdepth 1 -type f -name "*2017-[01-10]*"

1 ответ

Класс персонажа соответствует только одному персонажу за раз, поэтому сам по себе он не является подходящим инструментом для рассматриваемой работы. Рассмотрим вместо этого:

find  . -regextype posix-awk -regex '.*_2017-(0[1-9]|10)-.*' -print

Это имеет две ветви: 0[1-9]сопоставление любой двухсимвольной строки от 01 до 09; а также 10сопоставляя только точную строку 10,

Другие вопросы по тегам