从匹配行打印文件中的行直到文件结尾

lid*_*dia 28 sed

我写了下面的awk来打印从匹配线到EOF的线

awk '/match_line/,/*/' file
Run Code Online (Sandbox Code Playgroud)

我怎样才能在sed中做同样的事情?

gho*_*g74 52

sed -n '/matched/,$p' file
awk '/matched/,0' file
Run Code Online (Sandbox Code Playgroud)


eng*_*art 15

这是适用于Windows上非常旧版本的GNU sed

GNU sed版本2.05

http://www.gnu.org/software/sed/manual/sed.html

-n only display if Printed
-e expression to evaluate
p stands for Print
$ end of file
line1,line2 is the range
! is NOT
Run Code Online (Sandbox Code Playgroud)

haystack.txt

abc
def
ghi
needle
want 1
want 2
Run Code Online (Sandbox Code Playgroud)

将匹配行和后续行打印到文件末尾

>sed.exe -n -e "/needle/,$p" haystack.txt
needle
want 1
want 2
Run Code Online (Sandbox Code Playgroud)

打印文件的开头,但不包括匹配的行

>sed.exe -n -e "/needle/,$!p" haystack.txt
abc
def
ghi
Run Code Online (Sandbox Code Playgroud)

打印文件的开始,最多包括AND,包括匹配行

>sed.exe -n -e "1,/needle/p" haystack.txt
abc
def
ghi
needle
Run Code Online (Sandbox Code Playgroud)

匹配行后打印everthing

>sed.exe -n -e "1,/needle/!p" haystack.txt
want 1
want 2
Run Code Online (Sandbox Code Playgroud)