-name
из find
соответствует как оболочка.Таким образом, [_0-9]
соответствует одному (!) Символу, который является _
или числом.Тогда *
соответствует любому (!) Символу любое количество раз.
Если вы хотите использовать регулярные выражения с find
, используйте параметр -regex
.Пример:
# creating MCVE
xargs touch <<EOF
job_customer_old_0.1.zip
job_customer_old.zip
job_customer_0.2.zip
job_customer.zip
EOF
find . -regex '\./job_customer[_0-9\.]*\.zip'
Это напечатает job_customer.zip
и job_customer_0.2.zip
.Обратите внимание, что в _0.2
есть также точка .
, поэтому я добавил, что внутри фигурных скобок [_0-9\.]
.С опцией -regextype
find
вы можете указать find
для использования различных разновидностей регулярных выражений.Обратите внимание, что регулярное выражение соответствует всей части, а не только имени файла, поэтому, вероятно, вам придется использовать ex.find "directtory_path" -regex './directtory_path/job_customer[_0-9\.]*\.zip'