使用PHP
我想比較兩個文本文件,第一個文件是另一個應該與它比較的主文件。 如果first.txt
線不second.txt
存在或者是與之不同,腳本應返回該行的全部塊,例如:使用正則表達式提取文本塊
first.txt
interface Vlan11
description xxx
ip address 10.10.10.10 255.255.255.255
shutdown
!
vlan 34
!
vlan 17
name sth
!
route-map sth
match ip address exm
set ip next-hop 1.2.3.4
!
第二。 TXT
interface Vlan11
description xxx
ip address 20.20.20.20 255.255.255.255
shutdown
!
vlan 34
!
route-map sth
match ip address exm
set ip next-hop 1.2.3.4
!
對於比較我提取使用的first.txt
線,並在second.txt
搜索它們,現在的IP地址是在second.txt
三線不同,那麼我們應該(從interface
到爆炸(!
))返回該行的塊:
interface Vlan11
description xxx
ip address 20.20.20.20 255.255.255.255
shutdown
!
或second.txt
的vlan
塊一個不存在的,所以應該回報:
vlan 17
name sth
!
可以很容易地編寫提取兩個劉海之間的塊一個正則表達式,而是因爲我應該回到塊我不開始不知道模式應該從何開始H。
另外我還有一個想法,即每個塊都以一個字符開頭,然後是一些以空格開頭,然後是結尾的行,但問題是如何啓動該模式。
不會'diff'完全符合你的要求嗎? – Jan
塊應該在兩個文件中的順序相同嗎? –
哪個'diff'? @Jan –