В настоящее время я использую эту команду, чтобы получить список файлов:

find -E . -regex '.*\.(jpg|jpeg|png|gif|pdf)'

Используя эту команду, я бы получил этот список:

Сейчас :

documentA.pdf
documentB.jpeg
001documentC.png
...

Моя цель - отфильтровать этот список, чтобы я получал только файлы, начинающиеся с 3 целых чисел и заканчивающиеся ранее установленными расширениями.

Цель :

001documentC.png

Как мне настроить команду find -E . -regex чтобы я получал такое поведение? Я создал строку регулярного выражения: ([0-9][0-9][0-9]).*\.(jpg|jpeg|png|gif|pdf) , протестировано на regexPal.com, но я не могу заставить его работать с командой find.

1 ответ1

0

Нашел идеальное решение благодаря этому вопросу stackoverflow

find -E . -iregex '.*/*\.(jpg|png|eps|gif)'

Тестовое задание :

$ touch documentA.pdf documentB.jpeg 001documentC.png 0documentD.eps 0000documentE.pdf
$ find -E . -iregex '.*/[0-9]{3}.*\.(jpg|png|eps|gif)'

./001documentC.png

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .