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 = 包含 /* 的行(转义)

相关内容