使用 bash 解析 xfs_quota -c 'free' 输出

使用 bash 解析 xfs_quota -c 'free' 输出

xfs_quota -c "free" /mnt/xfs是否可以确定性地解析 的输出?问题在于,根据安装在其输出上的块设备的路径长度,/mnt/xfs其格式将有所不同。

对于具有足够短的块设备路径的块设备,xfs_quota将在一行上输出:

└$ xfs_quota -c "free" /mnt/xfs
Filesystem           1K-blocks       Used  Available  Use% Pathname
/dev/loop20             983040     289076     693964   29% /mnt/xfs

但如果块设备有很长的路径,例如,如果它是 LVM 卷的一部分,则输出将分为多行:

$ xfs_quota -c "free" /scratch/local
Filesystem           1K-blocks       Used  Available  Use% Pathname
/dev/mapper/vg_scratch-lv_scratch
                       1230848      32996    1197852    3% /scratch/local

Xfs_quota-N有一个隐藏标题的标志,大概是为了简化机器可读性;但使用它并不能消除这种可变行为。

$ xfs_quota -c "free -N" /scratch/local
/dev/mapper/vg_scratch-lv_scratch
                       1230848      32996    1197852    3% /scratch/local

相关内容