显示大小超过 5kb 的所有“.sh”文件

kes*_*rel 4 bash scripts

我想列出所有具有 .sh 扩展名且大小大于 5kb 的文件,这些文件具有相同的目录。我所知道的是如何通过以下方式列出具有特定大小的所有文件:

find . -size +5k -exec ls -l {} \+
Run Code Online (Sandbox Code Playgroud)

以及如何通过以下方式列出具有特定扩展名的所有文件:

ls *.sh
Run Code Online (Sandbox Code Playgroud)

我需要知道的是如何同时进行?

des*_*ert 9

find可以-name选择对文件名执行测试,例如列出每个文件f.sh扩展名:

find -type f -name "*.sh"
Run Code Online (Sandbox Code Playgroud)

如果您希望它不区分大小写,请改用,例如还 find或。您可以简单地将其与:-iname.Sh.SH-size

find -type f -name "*.sh" -size +5k
Run Code Online (Sandbox Code Playgroud)

find还可以-ls选择显示文件统计信息,虽然您的-exec方法完全可以,但它可能更快并且更容易输入:

find -type f -name "*.sh" -size +5k -ls
Run Code Online (Sandbox Code Playgroud)