我有一個文件格式如下。Shell腳本 - 搜索多行模式並刪除記錄如果匹配
I PRP B-PRP
am VBP B-VBP
a DT B-DT
happy JJ B-JJ
soul NN B-NN
I PRP B-PRP
am VBP B-VBP
a DT B-DT
sad JJ B-JJ
soul NN B-NN
每條記錄都由空行分隔。每行有3個字段。
如果有輸入我是一個快樂的靈魂我想在這個文件中搜索並刪除記錄,如果它存在。在這個例子中,記錄一個將從文件中刪除。由於這句話是以多行的形式傳播的,我無法弄清楚如何做到這一點。我試過sed,awk,grep。似乎沒有任何工作。基本上,我不知道如何給這些命令的模式。
sed -e '/I/,/soul/!d' filename
大多數的意見是像上述類型開始隨後端圖案圖案。但這不適用於我的情況。
如何解決這個問題?
它的工作。謝謝。 – BBHeeMAA
如何將'regex'作爲shell變量傳遞?那可能嗎? – BBHeeMAA
是的。這是可能的。 – BBHeeMAA