我有一个包含这样的行的文件:
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。
答案 0 :(得分:1)
只需移除/\AAA
和/
之间的所有内容即可。如果模式或替换包含/
:
sed 's,/\\AAA[^/]*/,/,g'