我想要一种通过使用分区安装的目录来捕获特定分区的磁盘使用情况的方法。输出应该只是一个没有填充或后面符号的整数,因为我想将它保存在一个变量中。
我使用过df --output=pcent /mount/point
,但需要修剪输出,因为它有一个不必要的标题、值前的单个空格填充,以及值后面的 % 符号,如下所示:
Use%
83%
在这种情况下,我想要的输出只是83
. 我不知道使用 的输出有任何缺点df
,但很高兴接受其他不依赖它的方法。
我想要一种通过使用分区安装的目录来捕获特定分区的磁盘使用情况的方法。输出应该只是一个没有填充或后面符号的整数,因为我想将它保存在一个变量中。
我使用过df --output=pcent /mount/point
,但需要修剪输出,因为它有一个不必要的标题、值前的单个空格填充,以及值后面的 % 符号,如下所示:
Use%
83%
在这种情况下,我想要的输出只是83
. 我不知道使用 的输出有任何缺点df
,但很高兴接受其他不依赖它的方法。
我会用...
不确定 sed 是否更快,但我不记得 sed 的值。
这是awk解决方案:
基本上这里发生的是我们将 '%' 字符视为字段分隔符(列分隔符),并且仅当记录数等于两个时才打印第一列 $1(
NR==2
部分)如果我们想使用
bash
-only 工具,我们可以这样做:为了好玩,
sed
通过捕获组和-r
扩展正则表达式替代:sed
解决方案1d
删除第一行;
分隔命令s/^ //
从行首删除一个空格s/%//
删除%
标志您可以通过管道传输
grep
到仅提取数字的 a:现场观看:
我遇到了一个尚未实现 --output=pcent 的服务器,因此我使用了按列过滤的正常输出,然后是正则表达式:
df /mount/point | awk '{print $5}' | tr -dc '0-9'
Bash 两步解决方案
作为一个 bash (Borne Again SHell) 的粉丝,去年我想我会提出一个使用它的解决方案。
df
到 variableDF_PCT
。DF_PCT
并将其显示在屏幕上。5
接受答案的优势是在百分比(在这种情况下)生成后换行。这是另一个解决方案: