大きなテキストファイルから数行抽出

大きなテキストファイルから数行抽出

大きなテキストファイルがあります。

しなければならない早くこのファイルから #14600 から #14700 までの複数行を別々のファイルに抽出します。

どうすればいいですか?

答え1

使用sed

sed -n 14600,14700p filename > newfile

どこ:

  • p:パターンスペースを印刷します(標準出力に)。このコマンドは通常、-nコマンドラインオプションでのみ使用されます。

  • n:自動印刷が無効になっていない場合は、パターンスペースを印刷してから、パターンスペースを関係なく次の入力行に置き換えます。これ以上入力がない場合、sed は他のコマンドを処理せずに終了します。

答え2

以下を使用してこれらの結果を得ることができますsed

sed -n '14600,14700p;14700q' largefile

答え3

昔ながら:

tail -n +14600 filename | head -n 100

そしてメモリ節約型のバリエーション:

head -n 14700 filename | tail -n +14600

答え4

awkを使う

awk 'NR>=14600&&NR<=147000' filename

関連情報