【发布时间】:2021-04-06 17:43:14
【问题描述】:
我有一个包含多个具有完整路径的目录的列表:
/mnt/directory_1/sub_directory_1/
/mnt/directory_2/
/mnt/directory_3/sub_directory_3/other_directories_3/
我需要计算这个列表的总大小。
来自Get total size of a list of files in UNIX
du -ch $file_list | tail -1 | cut -f 1
这是我能找到的最接近的答案,但给了我以下错误消息:
bash: /bin/du: 参数列表太长
【问题讨论】:
-
I have a list containing列表是如何存储的?$file_list- 变量$file_list的内容是什么? -
遍历列表并对结果求和。
-
@KamilCuk 和 William 说的:另外:如果有多种单位(例如一些 K/M/G in输出)。
-
@KamilCuk $file_list 是文件名。我这样运行它: du -ch 'cat file_list.txt` |尾-1 | cut -f 1 内容就是上面提到的完整路径。这些目录和子目录中的每一个都包含具有不同扩展名的文件。我在 pastebin 上有一个结构示例(小规模):pastebin.com/xEAj9csy 在这个示例中它可以工作,但是当您有太多文件(100k)时,我收到错误:bash: /bin/du: Argument list too long There is使用此方法时存在限制,我正在寻找解决方法。