1
我有一個文本文件,我想打印第一行以模式「abcd」開始並且第8行和第9行是以「DDD」模式開始。任何sed或awk做到這一點?文本處理...打印圖案1的第1次出現以及圖案2的第8次和第9次出現
我有一個文本文件,我想打印第一行以模式「abcd」開始並且第8行和第9行是以「DDD」模式開始。任何sed或awk做到這一點?文本處理...打印圖案1的第1次出現以及圖案2的第8次和第9次出現
這應該爲你工作:
awk '/^abcd/{p++;if(p==1) print}/^DDD/{q++;if(q==8||q==9)print}' file
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
完美。謝謝。 – chimoshoto