This question already has answers here:
Print all but the first three columns
                                
                                    (19个回答)
                                
                        
                                4年前关闭。
            
                    
我正在尝试获取“ df -m”命令中的第三至最后一列,但它似乎不起作用。好吧,它在一个方面起作用,而在另一个方面不起作用。部分原因是因为我们使用LVM的一个挂载点,而我们使用标准linux挂载的另一个挂载点...

但是我需要始终访问第三列到最后一列(可用空间),以便确保脚本可以正常工作...如何实现此目标或我在做什么错呢?

hostname:oraSID 292> df -m /oracle/SID/logs/
Filesystem     1M-blocks  Used Available Use% Mounted on
/dev/xvdf           5040  1139      3646  24% /oracle/SID/logs
hostname:oraSID 293>
hostname:oraSID 293> df -m /oracle/SID/sapdata6/
Filesystem           1M-blocks   Used Available Use% Mounted on
/dev/mapper/grp1-log_vsap1
                        856743 800202     13022  99% /oracle/SID/sapdata6
hostname:oraSID 294>
hostname:oraSID 294>
hostname:oraSID 295> df -m /oracle/SID/logs/ | awk '{ field = $(NF-2) }; END{ print field }'
3646
hostname:oraSID 296>
hostname:oraSID 296> df -m /oracle/SID/sapdata6/ | awk '{ field = $(NF-2) }; END{ print field }'
awk: (FILENAME=- FNR=2) fatal: attempt to access field -1
hostname:oraSID 297>
hostname:oraSID 297>

最佳答案

使用--output选项可能更容易:

df -m --output=avail

09-04 01:24