如何剥离grep的输出?

时间:2017-08-03 07:26:37

标签: linux grep strip df

我正在编写一个利用salt-cli(SaltStack)以及通用命令行参数的脚本来生成一个简单的基于HTML的表,其中概述了我们所有的服务器'硬件规格和软件版本。

它听起来很简单,但我唯一的挑战是剥离我的命令输出,以便它们可以很好地呈现在一个表格中(例如一个字/数字而不是整个输出)。

我尚未有效剥离的最新挑战是简单的df -Ph的输出。到目前为止,我已经明白了这一点:

'df -Ph /'

我的输出:

 Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/vhfhuffu               50G  8.0G   39G  18% /

我希望它只显示每个服务器的可用性,我无法找到一种可靠的方法来为Unix服务器执行此操作。

4 个答案:

答案 0 :(得分:0)

tailcut应该足够了:

 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>

丑陋,但它是唯一适用于这种利基案件的事情