我有一个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做到这一点,但我不足以知道如何做到这一点......如果有人有一个建议会非常感激:)!
答案 0 :(得分:2)
这个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