概要
私の場合、たまに以下のような状況があります。。。
OSはLinux。でも何故か文字コードがShift-JISで作られた列がめっちゃ多いCSVファイルがあって、その中に重要な値が記載されている。その値を見たい。。。。
さらに場合によっては、OS自体も古くて、文字コードがEUC-JPだったりしたりする場合もあり。。
そのまま見ると、当然文字化けするので nkf 挟んだりして見ようとするけど、往々にしてこんなクソファイルってのは列がめっちゃ多い。
vimで開いても、カンマだらけで見てられない。
自分ならこんなクソファイル絶対作らないですが、仕事なので仕方ないですよね。
Windowsに持ってきて、一旦ExcelなりCSVをキレイにテーブル上にして見せてくれるエディタとかで見ればいいんですが、いかんせん面倒くさい。
CSVファイルを見やすくするコマンド
ってとき、私はたまに以下のようなコマンドで見ています。よく忘れるのでここにメモ。
サンプルとして利用させてもらったCSVファイルは以下のものです。
$ nkf -S -u c01.csv | head -n 15 | cut -d, -f1-7 | column -s, -t "都道府県コード" "都道府県名" "元号" "和暦(年)" "西暦(年)" "注" "人口(総数)" "00" "全国" "大正" 9 1920 "" 55963053 "01" "北海道" "大正" 9 1920 "" 2359183 "02" "青森県" "大正" 9 1920 "" 756454 "03" "岩手県" "大正" 9 1920 "" 845540 "04" "宮城県" "大正" 9 1920 "" 961768 "05" "秋田県" "大正" 9 1920 "" 898537 "06" "山形県" "大正" 9 1920 "" 968925 "07" "福島県" "大正" 9 1920 "" 1362750 "08" "茨城県" "大正" 9 1920 "" 1350400 "09" "栃木県" "大正" 9 1920 "" 1046479 "10" "群馬県" "大正" 9 1920 "" 1052610 "11" "埼玉県" "大正" 9 1920 "" 1319533 "12" "千葉県" "大正" 9 1920 "" 1336155 "13" "東京都" "大正" 9 1920 "" 3699428
文字コードをsjisからutf-8に変換して、先頭15行分に対して、7列分の列のみを抽出して、表形式にして表示。
本当に コマンド って便利ですよね。ソートしたい場合は sort コマンド挟んでやればいいだけです。
参考情報
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場