如何才能获得不包含单词“total”的“du -c”的输出?

如何才能获得不包含单词“total”的“du -c”的输出?

我想获取目录及其内部所有目录的总大小。

我正在使用命令

du -h -c "$input_variable" | grep total

它打印结果和单词total。如何获得不带单词的结果total

答案1

你正好路过一个文件: ,因此您可以使用而不是:来"$input_variable"摆脱它grep-s-c

-s
不采用默认输出,而是仅报告每个指定文件的总和。

来源

如果我正确阅读了文档,du应该在输出中使用空格字符将大小与路径名分开。但常见的实现使用制表符。awk其默认字段分隔符应该能够在两种情况下分隔第一个字段:

du -hs "$input_variable" | awk '{print $1}'

笔记:

  • 该解决方案不依赖于单词total,因此du也可能支持本地化;
  • -s是一个便携式选项,而-c不是(并且-h您使用的 也不是便携式的)。

答案2

使用 GNU du:

du -sh "$input_variable" | awk '{print $1}'

答案3

将其导入sed| sed 's/\ttotal//g'

相关内容