-1
如何用bash替换"
的\"
字符串?用字符串替换“by ”
例如:
一个txt文件包含的文本,如:
Banana "hallo" Apple "hey"
这必须被转换成:
Banana \"hallo\" Apple \"hey\"
我试图
a=$(cat test.txt)
b=${a//\"/\"}}
但这并没有我RK。
这是如何工作的?
如何用bash替换"
的\"
字符串?用字符串替换“by ”
例如:
一个txt文件包含的文本,如:
Banana "hallo" Apple "hey"
这必须被转换成:
Banana \"hallo\" Apple \"hey\"
我试图
a=$(cat test.txt)
b=${a//\"/\"}}
但这并没有我RK。
这是如何工作的?
string='Banana "hallo" Apple "hey"'
echo "$string"
Banana "hallo" Apple "hey"
string=${string//\"/\\\"} # Note both '\' need '"' need to be escaped.
echo "$string"
Banana \"hallo\" Apple \"hey\"
阿律解释
${var/pattern/replacement}
替换var
与replacement
的pattern
一个发生。
${var//pattern/replacement}
取代在var
所有出现pattern
与replacement
。
如果模式或替换包含字符如"
或/
在shell中有特殊含义,则需要将它们转义以让shell将它们视为文字。
你能告诉我们你到目前为止尝试过什么吗? – m0skit0
例如a = $(cat test.txt)和b = $ {a // \“/ \”}}这当然不起作用 –
您的问题对您的要求有点模糊。一般来说,你可以用'sed'或者''awk'来解决这个问题。还有其他的可能性。 –