10

巨大なファイルから 2 つの一致するパターンの間の特定の行を抽出する必要があります。

pattern1(ファイル内で一意) が特定のものに一致し、(line # nファイルpattern2 内で一意ではない) がline # mの直後の次の一致に一致するとしますline # n。次に、その間およびそれを含むすべての行を抽出したいline #n to #m

サンプルファイルの内容

***************************************************************************
text line # n-2
text line # n-1
********************************* Results *********************************
SUCCEEDED
...
...
some text
***************************************************************************
text line # m+1
text line # m+2
***************************************************************************

望ましい出力

********************************* Results *********************************
SUCCEEDED
...
...
some text
***************************************************************************

この問題を解決するのを手伝っていただければ幸いです

4

3 に答える 3

8

使用sed:

$ sed '/start_pattern_here/,/end_pattern_here/!d' inputfile

OPの特定のケースでは:

$ sed '/[*]* Results [*]*/,/^[*]*$/!d' inputfile
********************************* Results *********************************
SUCCEEDED
...
...
some text
***************************************************************************

*** Results ***ユニークなパターンがであり、ユニークでないパターンが であると仮定し********ます。

于 2013-10-04T09:38:55.740 に答える