サーバ管理をしていると、tar.gzで固められたファイルから
特定の情報を探したりとかする必要がしばしば出てくる。
前はWindowsだったけど今はMacだからローカルで作業余裕
ルンルン(裏声)とか思って、scpで落として来て作業開始したら
知ってるコマンドが通用しねぇ…
やりたかった事としては、圧縮されたログファイルの中身を読むこと。
$ zcat log20150810.tar.gz zcat: log20150810.tar.gz.Z: No such file or directory
いやいや、tar.gzで良いんだって!別に.Zとか探してないよ!
サーバ上だとちゃんと動く。うーん、と思って調べたら
なんとMacではgz圧縮されたファイルはzcatでは読めない!
んだよ一々解凍してチェックしないといけないのか
と思ったらgzcatというコマンドがあるらしい。
もともと
どうやらzcatというのはcompressというツールで圧縮した際の
.Zファイルと呼ばれる、今ではほとんど見ないエンシェント形式に
対応したcatということで、gzcatはそのgzip版。うーん、闇。
サーバに入ってるCentOSとかだと、zcatで読めるようになっているのは
多分便利だったから短い方のコマンドが採用されたんだろう(適当
同じ名前したパッケージだけど実はパッチ当たってないと特定機能が
無いとか、オプション必要だったとかはとてもよくある話なので
サーバで同じ事するときは事前に確認するの大切だなーと再確認。
オチ
結局集計作業としてやりたかったことはzgrepで普通に出来たので
zcatで先に見ようとしてなければそもそも、こんな問題起きてなかった
というかそこはgzgrepではないのか…
みんなもgzcat使ってみてくれよな!