0

我有一个像这样行的文件:

bear/forest/\AAA mountains/fish/
fish/\AAA stream/river/\AAA shrimp/
llama/mountains/

我想删除出现在 2 之间/的任何文本\AAA,例如,上面会变成:

bear/forest/fish/
fish/river/
llama/mountains/

AAA总是出现在第一个/符号之后。

我试图进行查找和替换,匹配模式/\AAA*/并将其替换为/,但这不起作用:

sed -i -r 's/\/\\AAA*\//\//g' file.txt

我有 GNU sed 4.2.1 版。

4

1 回答 1

1

只需删除 和 之间/\AAA的所有内容/。如果模式或替换包含以下内容,则使用替代字符分隔模式可提高可读性/

sed 's,/\\AAA[^/]*/,/,g'
于 2012-10-03T07:37:01.010 回答