CSVファイルのある列名が何番目かをすばやく数えるワンライナー


はじめに

CSVファイルの特定の列の値をささっと調べたい時に、列の番号がわかっていれば(例えば 195列目だったとして)、

cut -d, -f 195 data_train.csv|sort | uniq -c

というように調べられます。
しかし、列名から何列目かすぐにはわからないこともよくありますし、50個くらいあると数えるのもしんどいです。

そこでこのささやかなTipsです。

CSVファイルのある列名が何番目かをすばやく数えるワンライナー

head -n 1 data_train.csv | tr "," "\n" | less -N

とすると、列名と番号が出力されます。あとは less の中で検索したりすればすぐに探せます。

以下のように、

col_list
#!/bin/sh

head -n 1 $1 | tr "," "\n" | less -N

shell scriptにして、PATHの通ったところに置いておけば、

col_list data_train.csv

として使うこともできて尚便利です。

さいごに

もっと前に考えておけばよかったです。