如何剥离grep的输出?
How to strip output of grep?
我正在编写一个脚本,它利用 salt-cli (SaltStack) 以及通用命令行参数来生成一个基于 HTML 的简单 table 概述我们所有服务器的硬件规格和软件版本。
这听起来很简单,但我唯一的挑战是剥离我的命令输出,以便它们可以在 table 中很好地呈现(例如,一个 word/number 而不是整个输出)。
我尚未有效剥离的最新挑战是简单的 'df -Ph 的输出。到目前为止,我已经把它归结为:
'df -Ph /'
我的输出:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vhfhuffu 50G 8.0G 39G 18% /
我希望它只显示每个服务器的可用资源,我找不到对所有 Unix 服务器执行此操作的可靠方法。
tail
和 cut
在这里应该足够了:
df -Ph / | tail +2 | cut -f4 -w
应该给你根文件系统的文件系统大小。
另一种简单的方法是结合 tail -n 1
得到最后一行,然后将它传递给听起来像你想要的 grep '{print }'. This will extract the
39G` 值,例如
$ df -Ph / | tail -n 1 | awk '{print }'
39G
如果您要求和的是其他数字,请告诉我。
您可以使用 --output
选项提取所需的列值:
df -h --output=avail | tail -n +2
我最终选择了这个,因为我需要通过 Salt 从脚本中 运行 这个命令,它需要 cmd.run
周围的 ''
df -Ph / | grep / | awk '"'"'{ 打印 $4}'"'"''
丑陋,但它是唯一适用于这种小众案例的东西
我正在编写一个脚本,它利用 salt-cli (SaltStack) 以及通用命令行参数来生成一个基于 HTML 的简单 table 概述我们所有服务器的硬件规格和软件版本。
这听起来很简单,但我唯一的挑战是剥离我的命令输出,以便它们可以在 table 中很好地呈现(例如,一个 word/number 而不是整个输出)。
我尚未有效剥离的最新挑战是简单的 'df -Ph 的输出。到目前为止,我已经把它归结为:
'df -Ph /'
我的输出:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vhfhuffu 50G 8.0G 39G 18% /
我希望它只显示每个服务器的可用资源,我找不到对所有 Unix 服务器执行此操作的可靠方法。
tail
和 cut
在这里应该足够了:
df -Ph / | tail +2 | cut -f4 -w
应该给你根文件系统的文件系统大小。
另一种简单的方法是结合 tail -n 1
得到最后一行,然后将它传递给听起来像你想要的 grep '{print }'. This will extract the
39G` 值,例如
$ df -Ph / | tail -n 1 | awk '{print }'
39G
如果您要求和的是其他数字,请告诉我。
您可以使用 --output
选项提取所需的列值:
df -h --output=avail | tail -n +2
我最终选择了这个,因为我需要通过 Salt 从脚本中 运行 这个命令,它需要 cmd.run
周围的 ''df -Ph / | grep / | awk '"'"'{ 打印 $4}'"'"''
丑陋,但它是唯一适用于这种小众案例的东西