1

我有一个 Nagios 目录,其中包含一些服务器配置文件:

define host {
   host_name            server1.srv
   hostgroups           linux-servers+holmes
   check_interval           5
}

define host {
   host_name            server2.srv
   hostgroups           linux-servers+holmes
   check_interval           5
}   

我想将该数据重新格式化为 CSV,这样我会得到:

host_name,hostgroups,check_interval
server1.srv,linux-servers+holmes,5
server2.srv,linux-servers+holmes,5

我很高兴使用 bash 或 powershell 来执行此操作,但我不足以成为脚本专家知道如何执行此操作...如果有人有建议将不胜感激:)!

4

1 回答 1

3

这个 awk 应该可以工作:

awk 'BEGIN{print "host_name,hostgroups,check_interval"} /host_name/{v1=$2} /hostgroups/{v2=$2} /check_interval/{v3=$2} /}/{print v1","v2","v3; v1=v2=v3=""}' file
于 2013-08-16T14:07:44.107 回答