我有一个bash脚本,它使用zcat,grep和cut从gzipped隔离的电子邮件中获取“主题”。然后,我使用echo和sed将“subject”存储在变量中,然后在mysql INSERT语句中使用该存储主题将mysject表中的“Subject”存储在mysql表中之前转义主题中的字符。
我遇到的问题是我的当前语句用单号替换单引号,我不能将单引号添加到sed的开头,因为它需要自行转义,但我读到我无法逃避单引号一个用单引号括起来的sed语句。
以下是bash脚本的相关部分
Subject=`zcat $RCPT | grep -m2 Subject | tail -n1 | cut -d ":" -f 2`
Subject2=`echo $Subject | sed -e 's/[^a-zA-Z0-9 ,._()+!#$?@%/-]/\\&/g; 1{$s/^$/""/}; 1!s/^/"/; $!s/$/"/'`
mysql statement that inserts '$Subject2' in to a table
如果我将sed语句更改为用双引号括起但我不知道如何更改sed命令的后半部分,其中双引号已经存在,我认为我可以添加转义的单引号。 / p>