На этот вопрос уже есть ответ здесь:
I хочу перечислить все файлы с расширением .sh и размером более 5 КБ в одном каталоге. я знаю, как перечислить все файлы с определенным размером по:
find . -size +5k -exec ls -l {} \+
и как перечислить все файлы с определенным расширением:
ls *.sh
что мне нужно знать, как делать и то и другое одновременно?
find
имеет a -name
опция выполнить тест на имени файла, например, перечислить каждый f
ile с .sh
расширение:
find -type f -name "*.sh"
Использовать -iname
вместо этого, если Вы хотите, чтобы это было нечувствительно к регистру, например, также нашло .Sh
или .SH
. Можно просто объединить это с -size
:
find -type f -name "*.sh" -size +5k
find
также имеет -ls
опция к статистике дисплейного файла, в то время как Ваш -exec
подход полностью в порядке, это может быть быстрее и намного легче ввести:
find -type f -name "*.sh" -size +5k -ls