-1

2 つのパターン (たとえば、パターン 1 とパターン 2) の間の線を抽出したいと考えています。ファイルの構造は次のとおりです。

a random number of lines containing other stuff
pattern1
some lines to be extracted (finding out the number of lines possible, if necessary)
pattern2
a random number of lines containing other stuff
pattern1
some lines to be extracted
pattern2
a random number of lines containing other stuff

これが何度も繰り返されます (つまり、一致するパターン 1 とパターン 2 のペアが多数存在します)。すべての一致のパターン間の行を抽出し、ランダムなものを効果的に破棄したいと考えています。

これどうやってするの?

4

4 に答える 4

2
sed -n "/pattern1/,/pattern2/ {
 /pattern1/ !{
   /pattern2/ !p
   }
 }" InputFile

パターン自体を除く印刷ライン BETWEEN パターン

于 2013-11-11T09:30:10.523 に答える