给定一些文件名,打印这些文件的总磁盘使用情况

给定一些文件名,打印这些文件的总磁盘使用情况

给定一个可能非常大的文件名列表,这些文件位于不同的目录中,具有不同的命名约定等,如何计算并打印文件的总磁盘使用量?我一直在使用以下脚本(它还列出了计算中使用的文件数量)进行此操作,但我想知道是否可能有一个 unix 工具可以做到这一点,是否有替代/更简单的方法可以做到这一点?查看它的手册页ls似乎没有办法给它一组文件名并要求它仅打印磁盘使用情况的摘要。

LISTCOUNT=0
LISTSIZE=0
cat /tmp/filelist | while read FF
do
  FILESIZE=$(stat -c%s "$FF")
  LISTSIZE=$[LISTSIZE+${FILESIZE}]
  echo listsize: $LISTSIZE
  LISTCOUNT=$[LISTCOUNT+1]
  echo listcount: $LISTCOUNT
done | tail -2

相关内容