やりたいこと
日毎のログやTSVなど、特定のディレクトリに出力したファイルを連結して1つにまとめたい。
手順
catコマンドとワイルドカードを組み合わせる。
なお扱うデータ量が多いとサーバ負荷が上がるため、事前に影響を確認すること。
ファイル名の共通部分を指定する場合
ワイルドカードでファイル名を検索する。
cat {連結したいファイル名の一部}* > {出力ファイル名}
拡張子が同じ場合
cat *.{拡張子} > {出力ファイル名}
ファイル名がバラバラ
ファイルを個別に指定する。
ファイル名の誤りを防ぐために、ExcelやVScodeでコマンドを組み立てるのもあり。
cat {ファイル名1} {ファイル名2} {ファイル名3} > {出力ファイル名}
例:さくらのレンタルサーバのエラーログを結合する
過去のエラーログはgzで圧縮されており、そのままcatが使用できない。
そこで圧縮ファイルを解凍できるzcatを使用する。
zcat log/error_log_*.gz > error_log_summary.log