awkは大容量データファイルの行数をスキップしますが、次の行をスキップする前に10を出力します。

awkは大容量データファイルの行数をスキップしますが、次の行をスキップする前に10を出力します。

ファイルを処理するために処理する必要がある大容量データファイルがあります。 20GBの大きなファイルで、各行に約20,000のフィールドが含まれています。私がしたいのは、最初の10行を維持し、1000行をスキップしてから10行を維持し、残りの1000行をスキップして維持することです。 10行、ファイルまで。これにご協力いただきありがとうございます。

答え1

私はそうします:

awk '((NR - 1) % 1010) < 10' file

答え2

awk 'NR<=10 || ((NR % 1010) < 10) {print}' file.txt

関連情報