我能在幾條命令中搜索並替換文件中的多行嗎?用另一條多行代替文件中的多行
我試圖用,dhcp_primary
內的唯一故障轉移塊替換dhcp_primary
中的3個故障轉移塊。
我的目標是將dhcpd.conf從主dhcp複製到輔助(更多信息請參閱:http://www.madboa.com/geek/dhcp-failover/)。只有當配置完全相同時,故障轉移纔會起作用,當然除故障轉移塊外;正如你所看到的是網站的例子。 所以我想複製這個文件,但保留次要的故障轉移信息。
例dhcp_primary
:
// some lines above
failover peer "A" {
...
}
failover peer "B" {
...
}
failover peer "C" {
...
}
// some lines below
例dhcp_secondary
:
// some different lines above
failover peer "D" {
...
}
// some different lines below
預期的輸出必須是:
// some lines above
failover peer "D" {
...
}
// some lines below
我已經可以提取故障轉移塊:
awk '/^failover/,/^}$/' dhcp_a
awk '/^failover/,/^}$/' dhcp_b
但我不知道如何繼續。
在此先感謝。
編輯:我的目標的更多細節。
我不熟悉故障轉移塊。數字「111」和「222」的用途是什麼? 'dhcp_a'和'dhcp_b'是兩個單獨的文件,還是同一個文件中的塊? –
在這裏,數字111和222代表一些線條。故障轉移將一個在另一個之下而不在其間,但這些塊上面有一些行,並在這些塊下面有一些行。 而dhcp_a和dhcp_b將分隔文件。 – Jeelo
在給定的故障切換塊中是否可以嵌套大括號?像'failover peer「D」{... subnet {...}}'?並且它在主要文件中的次要故障轉移塊結束時是否是任意的? (例如,你可以在文件的開頭有嗎?) –