Regex 带-r和\1替换的sed不能一起工作 $echo”“| sed-r's/*\(mta\)./\1def/g' sed:-e表达式#1,char 21:s命令的RHS上的引用无效\1 $echo“| sed's/*\(mta\)./\1def/g” mtadef

Regex 带-r和\1替换的sed不能一起工作 $echo”“| sed-r's/*\(mta\)./\1def/g' sed:-e表达式#1,char 21:s命令的RHS上的引用无效\1 $echo“| sed's/*\(mta\)./\1def/g” mtadef,regex,sed,Regex,Sed,##有没有一种方法可以使\1和-r选项在sed中与ERE(扩展正则表达式)一起工作?您不必将括号转义,因此可以: $ echo " <mta abc='1' def='2'>" | sed -r 's/.*\(mta\).*/\1def/g' sed: -e expression #1, char 21: invalid reference \1 on `s' command's RHS $ echo " <mta abc='1' def='2'>" | s

##有没有一种方法可以使\1和-r选项在sed中与ERE(扩展正则表达式)一起工作?您不必将括号转义,因此可以:

$ echo "    <mta abc='1' def='2'>" | sed -r 's/.*\(mta\).*/\1def/g'
sed: -e expression #1, char 21: invalid reference \1 on `s' command's RHS

$ echo "    <mta abc='1' def='2'>" | sed 's/.*\(mta\).*/\1def/g'
mtadef
echo”“| sed-r's/*(mta)。*/\1def/g'
mtadef
echo "    <mta abc='1' def='2'>" | sed -r 's/.*(mta).*/\1def/g'
mtadef