Bash 可用内存打印
需要帮助为下面的逻辑驱动器打印可用的内存(字节) 当我尝试为/dev/mapper/VolGroup00-LogVol00打印列Available时,它显示Available 26%,我需要Available 28012413kBBash 可用内存打印,bash,awk,linux-df,Bash,Awk,Linux Df,需要帮助为下面的逻辑驱动器打印可用的内存(字节) 当我尝试为/dev/mapper/VolGroup00-LogVol00打印列Available时,它显示Available 26%,我需要Available 28012413kB Filesystem 1kB-blocks Used Available Use% Mounted on /dev/mapper/VolGroup00-LogVol00 39426261kB 937
Filesystem 1kB-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
39426261kB 9378776kB 28012413kB 26% /
/dev/sda1 103513kB 20322kB 77847kB 21% /boot
tmpfs 525345kB 0kB 525345kB 0% /dev/shm
# df -B KB | awk '{print $4}'
Available
26%
77847kB
525345kB
是的,你的问题很明显是你有一条分裂的线 您可以使用awk根据您认为合适的任何标准重新连接线。例如,在awk遇到只有一个“单词”的行时,这里有一个连接行的东西
您也可以从末尾访问字段
... | awk 'NF>3{print $(NF-2)}'
应该有用。但是我还没有测试。您的问题似乎在于
df
命令的选项。最好指定您的操作系统,因为df
在某种程度上依赖于平台。另外,当fs路径很长时,您的df
会切掉一条线,这很奇怪。至少BSD或coreutilsdf
都不会出现这种情况。此外,也不能保证文件系统字段中不能有空格(例如,我的BSDdf
将包含类似于map-hosts
)的内容,因此假设第四个字段“可用”不可靠。@4ae1e1-该/dev/mapper/VolGroup
是LVM的指示器。在Ubuntu10.04(目前唯一可以测试的Linux)中,我会出现这样的行拆分。在df
中使用-P
进行POSIX兼容的输出-df-P-bkb | awk'{print$4}'
。
... | awk 'NF>3{print $(NF-2)}'