linux bash计算文件夹中文件的大小

时间:2017-11-14 14:11:41

标签: linux bash

我在论坛上看到了一些帖子,但我无法让它们为我工作

我有一个在文件夹中运行的脚本,我希望它只计算该文件夹中文件的大小,但内部没有文件夹。

所以,如果我有

file1.txt
folder1
file2.txt

它将返回file1 + file2的字节大小而不包含folder1

find . -maxdepth 1 -type f 给我一个我想要计算的所有文件的列表,但我怎样才能得到所有这些文件的大小?

1 个答案:

答案 0 :(得分:2)

此工具为xargs

find "$dir" -maxdepth 1 -type f -print0 | xargs -0 wc -c

请注意,find -print0xargs -0是GNU扩展程序,但如果您知道它们可用,那么它们非常值得在您的脚本中使用 - 您不知道可能存在哪些字符目标目录中的文件名。

您需要对wc的输出进行后期处理;或者,使用cat为其提供单个输入流,如下所示:

find "$dir" -maxdepth 1 -type f -print0 | xargs -0 cat | wc -c

这为您提供了一个可以在以下命令中使用的数字。

(我认为你的意思是"尺寸"在字节;如果你的意思是字符或{{}},显然会替换wc -m {1}}如果您的意思是)。