在如下所示的替换命令中将分隔符斜杠(/)更改为pipe(|)sed
echo hello | sed 's|hello|world|'
Run Code Online (Sandbox Code Playgroud)
如何在下面的insert命令中将分隔符斜杠(/)更改为pipe(|)sed?
echo hello | sed '/hello/i world'
Run Code Online (Sandbox Code Playgroud)
我不确定您提到的命令的意图是什么:
echo hello | sed '/hello/i world'
Run Code Online (Sandbox Code Playgroud)
但是,我假设您想要对与模式匹配的行执行某些操作hello。假设您想将与模式匹配的行更改hello为world. 为了实现这一点,你可以说:
$ echo -e "something\nhello" | sed '\|hello|{s|.*|world|}'
something
world
Run Code Online (Sandbox Code Playgroud)
为了使用正则表达式匹配行,可以使用以下形式:
/regexp/
\%regexp%
Run Code Online (Sandbox Code Playgroud)
其中%可以被任何其他单个字符替换(注意\第二种情况中的前面)。
该手册对此提供了更多详细信息。