美好的一天每個人,需要一個唯一的字符串從一個文件匹配,則刪除整個封裝的文本
我目前正在寫一個程序,將檢查特定唯一的字符串文件,然後刪除整個封裝文本如下:
define service{
use generic-service,srv-pnp
host_name MEVIE.COM
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
該文件中有很多define service { ... }
的實例。所以我不能只搜索定義服務,我必須搜索唯一的字符串,然後刪除整個define service { ... }
封裝。
例如:
- 在文件中查找字符串 「NSClient ++版」 ...
- 刪除一切內
define service{ .... }
- 刪除
define service { .... }
標籤爲好。
我真的很希望我的目標很明確。
我已經試過:sed -n '/NSClient+++ Version/{H;g;p};H' MEVIE.bak|tail -n5 > mevie.fil
..這一切都返回除了最後一個 '}'
還能有'{}'裏面嵌套定義'service'? – nhahtdh
@nhahtdh - 不,不會有嵌套{} – Afrojoe
Google for「sed multi-line」 – alex