Bash   发布时间:2022-05-13  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了filesystems – 在shell中通过扩展计算总文件大小大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有一组包含lucene索引的目录.每个索引都是不同文件类型的混合(按扩展名区分),例如:
0/index/_2z6.frq
0/index/_2z6.fnm
..
1/index/_1sq.frq
1/index/_1sq.fnm
..

(这是大约10种不同的扩展)

我们希望通过文件扩展名获得总计,例如:

.frq     21234
.fnm     34757
..

我已经尝试过du / awk / xargs的各种组合,但发现这很难做到.

对于任何给定的扩展,您可以使用
find /path -name '*.frq' -exec ls -l {} \; | awk '{ @R_620_10586@l += $5} END { print @R_620_10586@l }'

获取该类型的总文件大小.

经过一番思

#!/bin/bash

ftypes=$(find . -type f | grep -E ".*\.[a-zA-Z0-9]*$" | sed -e 's/.*\(\.[a-zA-Z0-9]*\)$/\1/' | sort | uniq)

for ft in $ftypes
do
    echo -n "$ft "
    find . -name "*${ft}" -exec ls -l {} \; | awk '{@R_620_10586@l += $5} END {print @R_620_10586@l}'
done

这将输出找到的每种文件类型的大小(以字节为单位).

大佬总结

以上是大佬教程为你收集整理的filesystems – 在shell中通过扩展计算总文件大小全部内容,希望文章能够帮你解决filesystems – 在shell中通过扩展计算总文件大小所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: