我有来自负载均衡器的原始文本配置,并且只想查找已应用 TCP 配置文件的虚拟服务器。下面是一个示例配置,我只想从中输出第一行(awk
如果需要,我可以稍后使用它来过滤 VS 名称)。请注意,我是离线执行此操作,无法访问设备。
ltm virtual /Common/custom_ldap-vs {
destination /Common/10.1.1.2:389
ip-protocol tcp
mask 255.255.255.255
persist {
/Common/source_addr {
default yes
}
}
pool /Common/dev_itim_rhitimdevtds_ldap-pool
profiles {
<b> /Common/Custom_tcp_Profile { } </b>
}
source 0.0.0.0/0
source-address-translation {
type automap
}
translate-address enabled
translate-port enabled
vlans {
/Common/vlan_3
}
vlans-enabled
}
答案1
首先尝试从文件中删除换行符。然后将每个虚拟服务器分成自己的行。然后您可以 grep 您的配置文件字符串:
perl -pe 's/\n//mg' yourfile.txt | perl -pe 's/ltm virtual/\n/g' | grep Custom_tcp_Profile | perl -pe 's/(.*?){.*/$1/'