我正在编写一个利用salt-cli(SaltStack)以及通用命令行参数的脚本来生成一个简单的基于HTML的表,其中概述了我们所有的服务器'硬件规格和软件版本。
它听起来很简单,但我唯一的挑战是剥离我的命令输出,以便它们可以很好地呈现在一个表格中(例如一个字/数字而不是整个输出)。
我尚未有效剥离的最新挑战是简单的df -Ph的输出。到目前为止,我已经明白了这一点:
'df -Ph /'
我的输出:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vhfhuffu 50G 8.0G 39G 18% /
我希望它只显示每个服务器的可用性,我无法找到一种可靠的方法来为Unix服务器执行此操作。
答案 0 :(得分:0)
tail
和cut
应该足够了:
df -Ph / | tail +2 | cut -f4 -w
应该为您提供根文件系统的文件系统大小。
答案 1 :(得分:0)
另一种简单的方法是将tail -n 1
组合起来获取最后一行,并将其传递给您想要的grep '{print $4}'. This will extract the
39G`值,例如。
$ df -Ph / | tail -n 1 | awk '{print $4}'
39G
如果是其他号码,您正试图求和,请告诉我。
答案 2 :(得分:0)
您可以使用--output
选项提取所需的列值:
df -h --output=avail | tail -n +2
答案 3 :(得分:0)
由于我需要通过Salt从脚本运行此命令,因此我最终选择了这个,这需要''围绕cmd.run
df -Ph / | grep / | awk&#39;&#39;&#39;&#34;&#39; {print $ 4}&#39;&#34;&#39;&#34;&#39;&#39; < / p>
丑陋,但它是唯一适用于这种利基案件的事情