毎回どうやるのか調べてるのでメモ
やりかたは2つ
①sedを使う
$ cat ファイル名 | sed -n '開始行,終了行p'
②headとtailを使う
$ cat ファイル名 | head -n 終了行 | tail -n 開始行
どちらが早いのだろうと調べた
実際やりたかった450MBあるファイルに対して、1000行目から10000行目を切り出す
※macなのでbrew でcoreutil
をインストールして、gdate
を使う
①sedを使う
$ start_time=`gdate +%s.%3N`; cat target.csv | sed -n '1000,10000p'; end_time=`gdate +%s.%3N`; echo $((end_time - start_time)); ... 1.4509999752044678
②headとtailを使う
$ start_time=`gdate +%s.%3N`; cat target.csv | head -n 10000 | tail -n 1000; end_time=`gdate +%s.%3N`; echo $((end_time - start_time)); ... 0.63299989700317383
予想に反して②だった