Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这个问题源于一个用例,替换"为'',latex quirk。
"
''
如果里面有(双引号),我通常使用'(单引号)将脚本括起来",并使用虎钳诗句。但是,在这种情况下,这个脚本中同时出现了单引号和双引号,我让谷歌找到了处理它的正确方法。这提供了解决方案。以下是正确的,但不是很可读的解决方案。
'
sed 's!"!'\'''\''!' {filename}
让它工作后,我开始认为这种尴尬来自这种引用机制。因此,是否可以使用非印刷字符作为报价单?然后,我们不再需要转义引用。
在 bash 中,你有单引号和双引号,以及 here-docs 和 here-strings: 你可以这样做:
sed_script=$(cat << 'END' s/"/''/g END ) sed "$sed_script" filename