2011-05-11 24 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]