在/
的替换命令中将分隔符斜杠(|
)更改为竖线(sed
),如下所示
echo hello | sed 's|hello|world|'
如何在下面的/
插入命令中将分隔符斜杠(|
)更改为竖线(sed
)?
echo hello | sed '/hello/i world'
答案 0 :(得分:2)
我不确定你提到的命令的意图是什么:
echo hello | sed '/hello/i world'
但是,我认为您希望对匹配模式hello
的行执行某些操作。假设您要将匹配模式hello
的行更改为world
。为了实现这一目标,您可以说:
$ echo -e "something\nhello" | sed '\|hello|{s|.*|world|}'
something
world
为了使用正则表达式匹配行,可以使用以下表格:
/regexp/
\%regexp%
其中%
可以替换为任何其他单个字符(请注意第二种情况中的前一个\
)。
manual提供了有关此内容的详细信息。
答案 1 :(得分:1)
问题的答案是:
echo hello | sed '\|hello|i world'
这就是您如何在匹配路径的行之前添加一行,并避免使用转义符出现倾斜牙签综合症。