2011-05-11 22 views
2

我试图用[XXX]使用SED替换[ 'XXX']:sed问题。我究竟做错了什么?

sed -e 's/a[ '\(.*\)' ]/a[ \1 ]/' ./Test 
sed: -e expression #1, char xx: invalid reference \1 on `s' command's RHS 

我在做什么错?

谢谢!

回答

4

你需要躲避[]这样的:

echo "a[ 'xxx' ]" | sed "s/a\[ '\(.*\)' \]/a[ \1 ]/" 
2

如何简单地删除单引号字符?为避免混淆 外壳,使用双引号的表达:

sed -e "s/'//g" 

一个[ 'XXX']

一个[XXX]

格雷格·约翰逊

0

怎么样使用tr删除单引号?

printf "a['xxx']\n" | tr -d "'" 
a[xxx]