0

这个问题源于一个用例,替换"'',latex quirk。

如果里面有(双引号),我通常使用'(单引号)将脚本括起来",并使用虎钳诗句。但是,在这种情况下,这个脚本中同时出现了单引号和双引号,我让谷歌找到了处理它的正确方法。这提供了解决方案以下是正确的,但不是很可读的解决方案。

sed 's!"!'\'''\''!' {filename}

让它工作后,我开始认为这种尴尬来自这种引用机制。因此,是否可以使用非印刷字符作为报价单?然后,我们不再需要转义引用。

4

1 回答 1

2

在 bash 中,你有单引号和双引号,以及 here-docs 和 here-strings: 你可以这样做:

sed_script=$(cat << 'END'
s/"/''/g
END
)
sed "$sed_script" filename
于 2013-07-07T21:22:43.973 回答