String 替换“;通过\";一串
如何使用bash将字符串中的String 替换“;通过\";一串,string,bash,replace,String,Bash,Replace,如何使用bash将字符串中的“替换为\” 例如: txt文件包含如下文本: Banana "hallo" Apple "hey" 这必须转换为: Banana \"hallo\" Apple \"hey\" 我试过了 a=$(cat test.txt) b=${a//\"/\"}} 但这不起作用 这是如何工作的?使用 lil解释 ${var/pattern/replacement} 将var中出现的模式替换为replacement ${var//pattern/replacement}
“
替换为\”
例如:
txt文件包含如下文本:
Banana "hallo" Apple "hey"
这必须转换为:
Banana \"hallo\" Apple \"hey\"
我试过了
a=$(cat test.txt)
b=${a//\"/\"}}
但这不起作用
这是如何工作的?使用
lil解释
${var/pattern/replacement}
将var
中出现的模式
替换为replacement
${var//pattern/replacement}
将var
中出现的所有模式
替换为replacement
如果模式或替换包含在shell中具有特殊含义的字符,如
“
或/
,则需要对其进行转义,以使shell将其视为文本。您能告诉我们您迄今为止尝试了什么吗?例如,a=$(cat test.txt)和b=${a/\“/\”}}这当然不行。您的问题对您的需求有点模糊。一般来说,您可以使用sed
或awk
解决类似的问题。还有其他可能性。问题是,“这是一个特殊字符。”。所以朱利安·洛佩兹提出的解决方案是不可能的。@AnneK。你其实很接近。但是如果您想要文本`或,则需要转义`和“``
${var//pattern/replacement}