Найти регулярное выражение с диапазоном дат в имени файла
У меня есть файлы в папке, как
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
,