如何在insert命令中更改'sed'斜杠(/)分隔符?

时间:2013-07-19 08:55:38

标签: sed

/的替换命令中将分隔符斜杠(|)更改为竖线(sed),如下所示

echo hello | sed 's|hello|world|'

如何在下面的/插入命令中将分隔符斜杠(|)更改为竖线(sed)?

echo hello | sed '/hello/i world'

2 个答案:

答案 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'

这就是您如何在匹配路径的行之前添加一行,并避免使用转义符出现倾斜牙签综合症。