Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Text 过滤前n行的两个模式之间的文本_Text_Filter_Sed_Awk_Grep - Fatal编程技术网

Text 过滤前n行的两个模式之间的文本

Text 过滤前n行的两个模式之间的文本,text,filter,sed,awk,grep,Text,Filter,Sed,Awk,Grep,假设我们有这样一个文件: l1 abcdefgh l2 abcde l3 some line i want to retrieve l4 another line i want to retrieve l5 matching pattern l6 abc l7 abcdef l8 unmatching pattern l9 blah blah 我要检索以下输出: l3 some line i want to retrieve l4 another line i want to retrieve

假设我们有这样一个文件:

l1 abcdefgh
l2 abcde
l3 some line i want to retrieve
l4 another line i want to retrieve
l5 matching pattern
l6 abc
l7 abcdef
l8 unmatching pattern
l9 blah blah
我要检索以下输出:

l3 some line i want to retrieve
l4 another line i want to retrieve
l5 matching pattern
l6 abc
l7 abcdef
所以我想在匹配模式第一次出现之前输出两行,匹配行和所有行,直到我点击“unmatchingpattern”。当然,可以检索多个文本范围

实现这一目标最简单的方法是什么?我应该使用哪些工具?谷歌搜索什么?目前无法从基础知识中学习awk。

在awk中 在awk中 在sed中:

sed -n '1N;N;/pattern/{N;N;p;s/.*//;N;N;};$!D' filename
在sed中:

sed -n '1N;N;/pattern/{N;N;p;s/.*//;N;N;};$!D' filename

它打印包含不需要的“不匹配图案”的线条。不管怎样,谢谢。它打印的线条包含不需要的“不匹配图案”。无论如何,谢谢。
sed -n '1N;N;/pattern/{N;N;p;s/.*//;N;N;};$!D' filename