sed 多行贪婪匹配

2017-04-17 20:08:59 +08:00
 cryovz

原文件

First line
/* Comments
Comments
*/
*/
asdf
asdf
asdf

as/* Comments
asdf
*/

我想使用 sed 跨行匹配注释,匹配后的效果如下。

First line
asdf
asdf
asdf

as/* Comments
asdf
*/

我写的一个语句,但是不能贪婪匹配

sed -i '/^[a-z0-9A-Z_ \t]*\/\*/,/.*\*\//d' filename

效果如下,仍有一个*/没有匹配,但是又不能单独匹配删除*/,因为会删除其他的*/

First line
*/
asdf
asdf
asdf

as/* Comments
asdf
*/

请问如何在匹配多行的情况下,进行贪婪匹配,
1286 次点击
所在节点    问与答
2 条回复
neilp
2017-04-17 20:50:08 +08:00
如果我没记错的话, sed 只能处理单行.
DiamondbacK
2017-04-17 22:37:28 +08:00
没看懂你的匹配标准。
实例与陈述不一致。
你用的方法,效果也不是你所说的那样。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/355468

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX