ログファイルを見ようと思ったらファイルが重すぎて全く処理が進みません…!
そこで、Linuxコマンドでパパッとファイルを分割する方法を試しました。簡単だったのでメモします。
目次
ファイルを分割するlinuxコマンド
そのコマンドがこちら。引数-lに続く数字が、「何行ずつファイルを分割するか」を表します。
% split -l 1000000 target.txt
実際にやってみたらこんな感じ
今回はこちらのファイルを分割します。Javaのアプリケーションログが入っています。
% ls nohup.out
まずは以下のコマンドで、対象ファイルの何行データがあるかみてみましょう。wc -l
の後ろに対象ファイル名を入れます。今回は19875581行あることがわかりました。
% wc -l nohup.out
19875581 nohup.out
では早速分割します。以下コマンドを実行。今回は1000000行ごとに分けてみます。
% split -l 1000000 nohup.out
%
処理が終わったので、ls
コマンドでフォルダの中を見てみると…
% ls
nohup.out xag xan xaa xah xao
先程までなかったxag xan xaa xah xaoという5ファイルができています!これらが分割されたファイルたちです。
おまけ
分割されたファイルを削除するときはこんなコマンドで一括削除しました。
% rm -rf ./x*&̴
カレントディレクトリにいる、「x」で始まるファイルを全て削除です。分割で作成したファイル以外にも「x」始まりのファイルが存在しないか、確認してから実行してくださいね!
コメント