1

テキスト ファイルがあり、パターン「abcd」で始まる 1 行目と、「DDD」パターンで始まる 8 行目と 9 行目を印刷したいと考えています。それを行うためのsedまたはawkはありますか?

4

2 に答える 2

1
perl -lne 'push @{ $h->{$1} }, $_ if /.*(abcd|DDD).*/;END{print join "\n", @{ $h->{abcd}}[0]; print join "\n", @{ $h->{DDD}}[7..8];}' file

または分解:

perl -lne '
    push @{ $h->{$1} }, $_ if /.*(abcd|DDD).*/;
    END{
        print join "\n", @{ $h->{abcd} }[0], @{ $h->{DDD} }[7..8];
    }
' file
于 2013-10-26T18:19:32.690 に答える