我正在使用GNU diff实用程序来识别配置文件的更改(目前我们只关注Cisco ASA和IOS设备)。我需要能够根据缩进级别识别配置组的更改。
例如,采取以下配置:
object-group network DM_INLINE_NETWORK_3
network-object object Hyrule-DC02
network-object object Hyrule-DC03
如果第三行“网络对象对象Hyrule-DC02”被删除,那么我想打印整个配置组,从第一行开始,没有缩进,直到最后一行有缩进。在这个例子中,我想要打印的行是:
object-group network DM_INLINE_NETWORK_3
network-object object Hyrule-DC03
以下是代码结构的示例。在整个配置中使用这种按缩进分组的方式:
object-group network DM_INLINE_NETWORK_2
network-object object Hyrule-NS01-MGMT
network-object object Hyrule-NS01-VIP1
object-group network DM_INLINE_NETWORK_3
network-object object Hyrule-DC02
network-object object Hyrule-DC03
任何帮助将不胜感激!如果这个例子/问题不够明确,请告诉我。
答案 0 :(得分:0)
让我为您绘制一个基于常见Unix工具的解决方案。
{
,H
,s
和p
命令。<
或>
),换行符和缩进。这里 sed 的s
命令应该就是您所需要的。