私は与えられた2行の間のセクションを切り取る必要がある約80GBの非常に大きなテキストファイルを持っています。必要な部分が大きくなく、ハードドライブに次の作業を実行するのに十分なスペースがありません。
head -n 10000000 filename > auxiliary_part
tail -n 1000 auxiliary_part > needed_part
どうすればいいですか?
答え1
sed -n '3,10p' big-file.txt > your-section.txt
3と10を行の範囲に置き換えます。 sedコマンドは、基本的にp
行3と10の間のすべての内容を印刷()することを意味します。これを静かに実行するように指示します。そう-n
しないと、ファイルの読み込み中に入力内容を印刷します。
答え2
パイプを介して互いに接続します。
head -n 10000000 filename | tail -n 1000 > needed_part