我的字符串:AWK:替换“而不是\”
INSERT INTO tb(str) VALUES('So is there really more of you to love now? it\'s ...HB\\');
现在,我要使它成为SQLite的兼容,所以我不得不更换单引号2个单引号。我试过这个AWK脚本,但是,我只想替换\'
而不是\\'
。
echo "So is there really more of you to love now? it\'s ...HB\\'" | awk '{ gsub(/\57\047/, "\047\047"); print; }'
我在类似的思路上想,谢谢:-) – Pradeep
如果'\''不在行首,可以简化为'sed -E's /([^ \\])\\\ x27 /&\ x27/g'' ...或者使用带周期的工具...'perl -pe's /(?!<\\)\\\ x27/$&\ x27/g'' – Sundeep
我使用了gsub(/ \\\\ X27 /, “\ X99 \ X0 \ X0 \ X99”); GSUB(/ \\\ X27 /, “\ X27 \ X27”); GSUB(/ \ X99 \ X0 \ X0 \ X99/“\\\\\ X27”);因为\ x99正在干扰某些unicode字符。 – Pradeep