在awk中如何用转义双引号替换所有双引号?
The dog is "very" beautiful
会变成
The dog is \"very\" beautiful
我已经看到了这个答案(Using gsub to replace a double quote with two double quotes?)并且我试图改编它,但我对awk并不是很好(并且sed是没有选择因为我同时工作在Linux和OS X上,他们有不同的“已安装”
答案 0 :(得分:6)
从您链接的答案:
使用 gsub :
echo 'The dog is "very" beautiful' | gawk '{ gsub(/"/,"\\\"") } 1'
替代方案, sed :
echo 'The dog is "very" beautiful' | sed 's/"/\\"/g'
在两种情况下输出都是:
狗是\"非常"美丽
答案 1 :(得分:3)
您可以使用GNU awk:
echo 'The dog is "very" beautiful' | gawk '{ gsub(/"/,"\\\"") } 1'
你得到了
The dog is \"very\" beautiful
<强>解释强>
对于特殊字符\
和"
,您必须使用转义序列\\
和\"