Кажется, тип регулярного выражения find
не поддерживает \w
в квадратных скобках. Фактически, ни один из поддерживаемых типов на моей машине не понимает этого:
touch a b c
for type in findutils-default awk egrep ed emacs gnu-awk grep posix-awk \
posix-basic posix-egrep posix-extended posix-minimal-basic sed ; do
find . -type f -regextype $type -regex '\./[\w]'
done
# No output.
Вы можете использовать класс POSIX типа posix-extended
, хотя
find . -type f -regextype posix-extended -regex '\.\/\.git-[[:alnum:]/-]+'
Обратите внимание, что ^
бесполезно, поскольку регулярное выражение в любом случае должно соответствовать всему пути. Точно так же нет необходимости в обратном слэсе sh forward sla sh.
Кроме того, если файл, который вы ищете - .git-credential-cache/
, это, вероятно, каталог, а не файл, поскольку имена файлов могут ' т в конце концов sh. -type f
будет игнорировать каталоги, вместо этого используйте -type d
.