bash – 列出具有特定扩展名的目录中的所有文件

前端之家收集整理的这篇文章主要介绍了bash – 列出具有特定扩展名的目录中的所有文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我想在包含子目录的目录中列出所有PHP文件,我可以在bash中运行:

ls -l $(find.-name * .PHP -type f)

这样做的问题是,如果根本没有PHP文件,执行的命令是ls -l,列出所有文件和目录,而不是没有.

这是一个问题,因为我正在尝试使用所有PHP文件的组合大小

ls -l $(find.-name * .PHP -type f)| awk'{s = $5} END {print s}’

如果没有与* .PHP模式匹配的文件,则最终返回所有条目的大小.

我该如何防范此事件?

我建议你首先搜索文件,然后执行ls -l(或其他任何).例如这样:
find . -name "*PHP" -type f -exec ls -l {} \;

然后你可以管道awk表达式来进行添加.

猜你在找的Bash相关文章