小编Mac*_*iej的帖子

sed 并删除两个模式之间的字符串

我在使用 sed 删除两个模式之间的部分字符串时遇到问题。我总是将最后一个 PATTERN-2 排成一行:

测试.txt:

PATTERN-1xxxxPATTERN-2aaa
PATTERN-1xxxxPATTERN-2fffPATTERN-1zzzzPATTERN-2gggPATTERN-1zzzzPATTERN-2
PATTERN-1xxxxPATTERN-2bbb
Run Code Online (Sandbox Code Playgroud)

指令

sed 's/PATTERN-1.*PATTERN-2//g' test.txt
Run Code Online (Sandbox Code Playgroud)

上面的结果是

aaa

bbb
Run Code Online (Sandbox Code Playgroud)

但我想要

aaa
fffggg
bbb
Run Code Online (Sandbox Code Playgroud)

是否可以找到最接近 PATTERN-1 的 PATTERN-2?

sed regular-expression

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

regular-expression ×1

sed ×1