Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 可用内存打印_Bash_Awk_Linux Df - Fatal编程技术网

Bash 可用内存打印

Bash 可用内存打印,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

需要帮助为下面的逻辑驱动器打印可用的内存(字节)

当我尝试为/dev/mapper/VolGroup00-LogVol00打印列Available时,它显示Available 26%,我需要Available 28012413kB

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或coreutils
df
都不会出现这种情况。此外,也不能保证文件系统字段中不能有空格(例如,我的BSD
df
将包含类似于
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)}'