使用sed复制匹配模式的行

1 sed

我一直试图在论坛中寻找某个命令一段时间没有找到解决方案所以我希望你能够帮助我.我想做的事情很简单.我想使用see复制与模式匹配的行.例如,如果我有一个看起来像这样的文件:

abc
def
cda
abd
Run Code Online (Sandbox Code Playgroud)

我想复制包含'ab'的每一行,即:

abc
abc
def
cda
abd
abd
Run Code Online (Sandbox Code Playgroud)

我尝试了以下语法:

sed '/ab/a\&' myfile
Run Code Online (Sandbox Code Playgroud)

因为我在某处看过字符"&"代表匹配的模式,但我得到的是:

abc
&def
cda
abd
&
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?我猜有.

非常感谢您的帮助.

仅供参考,我正在使用mac OS X.

gle*_*man 6

它可以非常简单:

sed '/ab/p' file
Run Code Online (Sandbox Code Playgroud)

sed默认打印每一行.对于匹配的行,请在额外的时间打印该行.