ログファイルやデータファイル等のサイズの大きなファイルを
シェル上でいじくるときに便利なコマンドをまとめました。
他にもいろいろあるかと思いますが、とりあえずよく使うものを。
ZIP圧縮ファイルの中身を見る
zcat file.gz
文字コードを変換して出力する
例)CP932のテキストをUTF8に変換する
iconv -c -f cp932 -t utf8
-c
をつけると変換エラーをスキップしてくれます。
iconv -l
で対応する文字コードが確認できます。
指定行のデータを抽出する
例)末尾10行の表示
tail -10
例)10行目以降の出力
tail -n +10
例)10行目から20行抽出
tail -n +10 | head -20
指定の文字列を含む行の抽出
例)xxx という文字列を含む行を抽出する
grep xxx
例)yyy という文字列を含まない行を抽出する
grep -v yyy
ソート
例)カンマ区切りのCSVデータの3番目の項目を数値としてソートする
sort -t, -k3 -n
列の抽出
例)カンマで分割して5列目と10列目を表示
cut -d, -f5,10
重複の除去
uniq
※ 事前にソートされている必要があります。