使用 shell 从“df -h”中检索特定值

die*_*ias 0 shell

当我使用 df -h 时,我得到以下输出:

已使用的文件系统大小 Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00 59G 2.2G 54G 4% /

/dev/sda1 122M 38M 78M 33% /boot

tmpfs 1.1G 0 1.1G 0% /dev/shm

10.10.0.105:/某个路径

                   11T  8.4T  2.1T  81% /storage4
Run Code Online (Sandbox Code Playgroud)

10.11.0.101:/某个路径

                   15T  8.9T  5.9T  61% /storage1
Run Code Online (Sandbox Code Playgroud)

/dev/mapper/patha 5.0T 255G 4.8T 5% /storage5_vol0

/dev/mapper/pathb 5.0T 195G 4.9T 4% /storage5_vol1

/dev/mapper/pathc 5.0T 608G 4.5T 12% /storage5_vol2

我想编写一个脚本来获取特定存储上的Avail列的值。

我曾经用

df -k /storage_name | 尾-1 | awk '{print $3}'

但是FileSystem列可以有一个值或没有 .. 这会将我的脚本的变量从 $3 更改为 $4。

即使前面的列中没有值,我如何在单个命令行上获取Avail

Ale*_*lex 5

将 df 的 -P 选项用于“可移植性”或“POSIX”输出,并更改为可用计数的第 4 个字段。

df -kP /storage_name | tail -1 | awk '{print $4}'