转义字符串中的双引号

转义字符串中的双引号

我有一条字符串消息,其中包含双引号中的数据。我需要\在每个双引号前面加上你如何在 shell 中做到这一点?

我使用 Perl 并且它工作正常,但我正在寻找sh命令:

cat sampleMetadata | perl -wpe 's/([\\"])/\\$1/g'

答案1

配备标准工具箱,sed是一个不错的选择:

sed -e 's/"/\\&/g' <sampleMetadata

答案2

其他转义双引号(和其他特殊符号)的方法将所有行放在单引号中(如果文本中不存在):

sed "s/^\|$/'/g" <sampleMetadata

相关内容