我正在尝试用[xxx]使用sed:
替换['xxx']sed -e 's/a[ '\(.*\)' ]/a[ \1 ]/' ./Test
sed: -e expression #1, char xx: invalid reference \1 on `s' command's RHS
我做错了什么?
谢谢!
答案 0 :(得分:4)
你需要像这样逃避[
和]
:
echo "a[ 'xxx' ]" | sed "s/a\[ '\(.*\)' \]/a[ \1 ]/"
答案 1 :(得分:2)
如何简单地删除单引号字符?为了避免混淆 shell,在表达式周围使用双引号:
sed -e "s/'//g"
一个[ 'XXX']
一个[XXX]
格雷格约翰逊答案 2 :(得分:0)
如何使用tr
删除单引号?
printf "a['xxx']\n" | tr -d "'"
a[xxx]