![korn shell 无法在字符串变量中用 '(单引号)替换 ' '(2 个引号)](https://linux22.com/image/146308/korn%20shell%20%E6%97%A0%E6%B3%95%E5%9C%A8%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%8F%98%E9%87%8F%E4%B8%AD%E7%94%A8%20'%EF%BC%88%E5%8D%95%E5%BC%95%E5%8F%B7%EF%BC%89%E6%9B%BF%E6%8D%A2%20'%20'%EF%BC%882%20%E4%B8%AA%E5%BC%95%E5%8F%B7%EF%BC%89.png)
我正在尝试用变量替换''2019-01-14''
to 。我尝试了各种技术'2019-01-14'
$STG
echo ${STG//''/'}
echo $STG | sed -e s/'\'\''/'\''/g
还有更多的方程都不起作用。
答案1
转义正在起作用:
$ echo ${STG//\'\'/\'}
'2019-01-14'
或者你可以使用 tr:
$ echo "$STG" | tr -s "'"
'2019-01-14'
sed 在这里有点矫枉过正,但如果你正确使用引号就可以工作:
$ echo "$STG" | sed -e "s/''/'/g"
'2019-01-14'