vimdiff показывает различия только с родительскими строками
Два конфигурационных файла содержат много блоков вида
block name {
.....
sub block name1 {
.........
sub block name2 {
....
}
}
.....
}
Пример:
Вход (LHS):
ltm pool PROD_VAS_START_STOP1_1234 {
allow-nat yes
allow-snat yes
app-service none
autoscale-group-id none
description PROD_VAS_START_STOP1_1234
gateway-failsafe-device none
ignore-persisted-weight disabled
ip-tos-to-client pass-through
ip-tos-to-server pass-through
link-qos-to-client pass-through
link-qos-to-server pass-through
load-balancing-mode round-robin
members {
PROD_10.10.10.10:8560 {
address 10.20.30.40%4
app-service none
connection-limit 0
description none
dynamic-ratio 1
ephemeral false
inherit-profile enabled
logging disabled
monitor default
priority-group 0
rate-limit disabled
ratio 1
session user-disabled
state user-down
fqdn {
autopopulate disabled
name none // For ex this line is different b/w two files
}
metadata none
profiles none
}
PROD_10.10.10.30:1260 {
address 10.10.22.30%4
Ожидаемый результат, как показано ниже:
Output (LHS):
ltm pool PROD_VAS_START_STOP1_1234 {
members {
PROD_10.10.10.10:8560 {
fqdn {
name none // For ex this line is different b/w two files
Теперь с vimdiff
Я могу видеть различия хранятся в виде HTML, как показано ниже. Но я хочу увидеть все строки блока происхождения, если в блоке есть хотя бы одно различие.
Команда, которую я использую, как показано ниже.
vimdiff out1.txt out2.txt -C 6 -c TOhtml -c 'w! diff1.html' -c 'qa!'