大きなテキストファイルがあります。
しなければならない早くこのファイルから #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