サーバを運用していると、どうしてもログを調査しなければならない時があります。
そんな時に使える便利なアレコレを紹介します。
1行が長いが、読みにくくなるので改行させずに確認したい
less -S filename.log
ファイルの頭から20行までを確認したい
head -20 filename.log
ファイルの最後から20行までを確認したい
tail -20 filename.log
gz圧縮されたログ出力
zcat filename.log.gz
1列目、3列目、5列目〜7列目まで表示
cut -f1,3,5-7 filename.log
フィルタ
単純な検索
fgrep hello filename.log
タブ区切りで1-3列目まで表示
cat filename.log | awk ‘BEGIN{FS=”\t”} {print $1,$2,$3}
タブ区切りで2列目が400以上のものだけ1-3列目まで表示
cat filename.log | awk ‘BEGIN{FS=”\t”} $2 >= 400 {print $1,$2,$3}
ソート関連
単純なソート
sort filename.log
降順ソート
sort -r filename.log
数値としてのソート
sort -n filename.log
2列目を基準にソート
sort -k2,2 filename.log
区切り文字を,にして2列目基準ソート
sort -t”,” -k2,2 filename.log
ファイルへ出力
単純に結果をファイルへ書き出す
sort -nr before.log > after.log
様々な処置を行い画面へ出力させながらログにも残したい
sort -nr before.log | head -20 | tail -10 | tee after.log
様々なコマンドがあり、組み合わせの発想で目的のデータを抜き出すことが可能になります。
ぜひ苦手意識を持たずにチャレンジしてみてください。