【发布时间】:2020-12-15 11:57:00
【问题描述】:
与符号 (&) 和 sed 的特殊情况
想用bash中的&字符串替换字符串
INPUT:
var1=''XXX&XXX'
Input : sed -i 's/WW/$var1/g' test
Output:
$cat test
XXXWWXXX
预期输出为:XXX&XXX
PS:字符串将由动态,所以在这里我不想用转义字符修改变量,任何解决方案 壳牌?
【问题讨论】:
-
转义
&,这是sed中的特殊元字符。所以使用:sed -i 's/WW/XXX\&XXX/g' test -
我刚刚更新了我的问题@anubhava
-
是的,它的工作,但修改变量后,我不想做@anubhava
-
斜杠 (
/) 不是转义字符,反斜杠 (\) 是。 -
如果您的输入是
XXXWWXXX,并且您想用XXX&XXX替换WW,那么预期的输出不应该是XXX&XXX,而应该是XXXXXX&XXXXXX。
标签: regex linux bash shell sed