我有一个bash脚本,需要了解目录中所有gzip文件的字节数.现在,我假设它只是一个没有子目录的目录.做这样的事情很诱人:
du -scb /my/dir/*.gz|tail -n 1
但是,我有一吨文件. * .gz不会扩展到某种溢出条件吗?有没有更快,更安全的方法来检查此号码?
解决方法:
这有效并且“安全”:
(find . -type f -print0 |
xargs -0 stat -c '%s' |
tr '\n' '+'; echo 0) |
bc
这个怎么运作:
>首先,使用find查找’.gz’文件.使用nul分隔符打印它们,以便我们处理奇怪的文件名.
> xargs将文件名组分成可管理的块.将这些文件名提供给stat -c’%s’以获取字节大小(感谢@Fritschy).
> tr将换行符转换为.回声在末尾添加一个额外的0以及换行符.这样一来,我们就不会以悬挂的加号结尾,并且bc在其输入的末尾需要换行符.
>将大笔款项汇入公元前.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。