sed 在兩個模式之間選擇

sed 在兩個模式之間選擇
First line NC1.c   
/* comments        
second line nc1.c
  */               
*/
adsf
asfd  

我想匹配“/”之間的行“還有最後一個”/”並刪除它們,結果是

First line NC1.c   
adsf
asfd  

命令該怎麼寫呢?

答案1

像這樣的事情似乎沒問題:

$ sed '/\/\*/,/\*\//d; /\*\//d; /\/\*/d' file4
First line NC1.c   
adsf
asfd 

對於就地編輯,您可以使用 sed -i

此 sed 執行三個單獨的刪除:

/\/\*/,/\*\//d = 模式 /* 和 */ 之間的行範圍(以 \ 轉義)
/\*\//d = 包含 */ 的行(轉義)
/\/\*/d = 包含 /* 的行(轉義)

相關內容