我有一条字符串消息,其中包含双引号中的数据。我需要\
在每个双引号前面加上你如何在 shell 中做到这一点?
我使用 Perl 并且它工作正常,但我正在寻找sh
命令:
cat sampleMetadata | perl -wpe 's/([\\"])/\\$1/g'
答案1
配备标准工具箱,sed
是一个不错的选择:
sed -e 's/"/\\&/g' <sampleMetadata
答案2
其他转义双引号(和其他特殊符号)的方法将所有行放在单引号中(如果文本中不存在):
sed "s/^\|$/'/g" <sampleMetadata