我想列出同一目录中所有带有 .sh 扩展名且大小大于 5kb 的文件。我知道如何通过以下方式列出所有具有特定大小的文件:
find . -size +5k -exec ls -l {} \+
以及如何列出具有特定扩展名的所有文件:
ls *.sh
我需要知道如何同时完成这两件事?
答案1
find
可以-name
选择对文件名进行测试,例如列出每个f
带有扩展名的文件.sh
:
find -type f -name "*.sh"
如果您希望不区分大小写,请使用,例如 find或。您可以简单地将其与 结合起来:-iname
.Sh
.SH
-size
find -type f -name "*.sh" -size +5k
find
还有一个-ls
显示文件统计信息的选项,虽然您的-exec
方法完全没问题,但它可能会更快并且更容易输入:
find -type f -name "*.sh" -size +5k -ls