0

我正在编写一个脚本,它利用 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

4 回答 4

0

tail在这里cut应该足够了:

 df -Ph / | tail +2 | cut -f4 -w

应该给你根文件系统的文件系统大小。

于 2017-08-03T08:07:41.823 回答
0

另一种简单的方法是组合tail -n 1得到最后一行并将其传递给grep '{print $4}'. This will extract the听起来像你想要的 39G` 值,例如

$ df -Ph / | tail -n 1 | awk '{print $4}'
39G

如果您要求和的是其他数字请告诉我。

于 2017-08-03T08:31:58.857 回答
0

您可以使用--output选项提取所需的列值:

df -h --output=avail | tail -n +2
于 2017-08-03T08:42:46.813 回答
0

我最终选择了这个,因为我需要通过 Salt 从脚本运行这个命令,这需要 '' 围绕 cmd.run

df -Ph / | grep / | awk '"'"'{ 打印 $4}'"'"''

丑陋,但这是在这种小众案例中唯一有效的方法

于 2017-08-08T14:47:57.630 回答