Если ваш запрос соответствует ab.js и cd.js, но не ef.tk.js, вы можете использовать следующий код. Это решает 2 проблемы:
- нет проблем с пробелами в пути или именах файлов (например, файлы находятся в '/ var / tmp / my dir')
- нет проблем с точками в имени пути (например: файлы находятся в /var/tmp/my.dir)
Если «DIR» - это каталог, в котором вы хотите найти свои файлы, а «EXT» - это шаблон, который вы пытаетесь найти, используйте:
find DIR -regex '.*/[^./]*\.PAT' -print0 | xargs -0 -r ls -l
Например, если DIR равен '/ var / tmp', а PAT равен 'js' (для * .js):
find /var/tmp -regex '.*/[^./]*\.js' -print0 | xargs -0 -r ls -l
Это решение работает, если целевым каталогом является '/ var / tmp / my dir' (не забудьте затем поместить каталог в кавычки или не использовать пробел)
Если у вас много файлов, вы можете столкнуться с ограничением длины командной строки. Тогда вы можете вместо этого использовать 'xargs -0 -L XXX ls -l', поэтому каждый вызов ls будет выполняться только с файлами XXX max (например, используйте 500 для XXX).