【问题标题】:Shell Script Issue can't find the total sizeShell 脚本问题找不到总大小
【发布时间】:2013-05-30 18:17:40
【问题描述】:

我创建了一个 shell 脚本,它可以读取文本文件并查找文件的大小。问题是它没有给出总文件大小。

例如,当我执行./sushant7.sh 时,我得到:

Size is 4.0K    lesurvey1
Size is 4.0K    tbbsr11d1def
Size is 4.0K    tbbsr11d1def

我想得到12k,但我做不到。

我的脚本是

FILE1=/home/dev/sushanttest

cd $FILE1

while read file
do
    echo "Size is ` du -ha  $file`"

done < /home/dev/sushanttest/listing.txt

【问题讨论】:

  • 请注意,如果您使用-h,它有时会是 MB,其他是 KB.... 最好使用 -BK 到千字节,例如。

标签: linux shell


【解决方案1】:

你可以用这个:

xargs du -ch < /home/dev/sushanttest/listing.txt | grep total

这会将所有文件作为单个 du 调用的参数。如果您自己遍历文件,则必须自己总结。

【讨论】:

  • 感谢帮助,但是当我执行脚本时,我得到了三个结果,而不是只得到一个。总计 12K 总计 12K 总计 12K 总计
  • 我想通了。我做了 xargs du -ch $file。有效。谢谢
【解决方案2】:

也许您可以使用-b 开关以及du 来打印以字节为单位的大小。例如:

$ du -cb FILE_GLOB | grep total | awk '{print $1}'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-07
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    相关资源
    最近更新 更多