我一直在使用sed(在這裏找到的教程:Grymoire)我們從硬件供應商處獲得的ASCII文件進行按摩。文件有一個結構,像這樣Sed多行不能替換模式
Model-Manufacturer:D12-500
Test_Version:2.6.3
但是,我們收到了一些文件是隨機的「破」與錯過的條目「模型製造商:」
Model-Manufacturer:D12-500
Test_Version:2.6.3
Model-Manufacturer:H24-700
Test_Version:2.6.3
Test_Version:2.6.3
Model-Manufacturer:R15-300
Test_Version:2.6.3
我想解決這個問題,桑達和在第二次出現「Test_Version:2.6.3」之前放置「Model-Manufacturer:N/A」的缺失條目;這是我的代碼
sed -n '
/Test_Version/ {
# found "Test_Version" - read in next line
N
# look for "Test_Version" on the second line
# and print if there.
/\n.*Test_Version/ {
# found it - now edit making one line
s/Test_Version/Model-Manufacturer:N/A/
}
}' infile > outfile
這是行不通的。我相信我需要在更換之前記住每個「Test_Version」和「Model_Manufacturer」的位置,對嗎?我可以用sed來做這個嗎?
在此先感謝您的意見。
我的替換已關閉。你的伎倆。謝謝。個人來說,sed真的踢了**。 – Chris 2011-03-11 21:11:49