假设standard.txt是标准配置
config.txt是我想要验证的配置
这两种配置都包含相似的设置,但是配置排列或格式可能会略有不同。
user@pc:~/$ more standard.txt config.txt
::::::::::::::
standard.txt
::::::::::::::
ASA-A# show run dns
dns domain-lookup outside
DNS server-group DefaultDNS
name-server 172.16.51.30 inside
name-server 8.8.8.8 outside
name-server 172.16.54.30
domain-name domain.com
::::::::::::::
config.txt
::::::::::::::
ASA-A# show run dns
dns domain-lookup outside
DNS server-group DefaultDNS
name-server 172.16.51.30 inside
name-server 172.16.54.30
name-server 8.8.8.8 outside
domain-name domain.com
user@pc:~/$ diff将无法验证它,因为它还将检查格式。
user@pc:~/$ diff standard.txt config.txt
5,7c5,7
< name-server 8.8.8.8 outside
< name-server 172.16.54.30
< domain-name domain.com
---
> name-server 172.16.54.30
> name-server 8.8.8.8 outside
> domain-name domain.com
user@pc:~/$ 有没有更好的方法来解决这个问题?
发布于 2019-05-04 17:23:53
也许是这样的。它非常简陋,可以根据您的需要进行更改:
$ awk ' # using awk
{ $1=$1 } # rebuild records for space control
NR==FNR { # process file1
a[$0] # hash record to a (add counting if multiple identical records)
next
}
{ # process file2
if($0 in a) # if matching record in file1
delete a[$0] # remove from a
else # if not found in a
print"2:",$0 # output record
}
END { # in the END
for(i in a) # output all records from file1 which had no match
print "1:",i # ... in file2
}' file1 file2在我稍微更改了字节之后的输出(好吧,file1 :):
2: ASA-A# show run dns
1: ASA-A# show run dnsphttps://stackoverflow.com/questions/55981091
复制相似问题