コマンドラインで素早くcsvの特定カラムを削除する
レコード数が多いcsvやtsvの、特定のカラムのみを削除したい場合、 cutコマンドが使えます。
例)
list.csv
id, name, address, tel 1, mike, foo, 000 2, bob, bar, 000 3, nancy, baz, 000 4, ken, boo, 000
上のようなcsvの、addressのカラムを削除したい場合。削除したいカラムは3列目なので、以下のようになる。
$ cat list.csv | cut -d "," -f 1-2,4 > list_new.csv
-dオプションで、区切り文字の指定が可能。デフォルトはタブとなっているため、 tsvのカラムを削除したい場合は、-dオプションは指定する必要はない。
-fオプションで、出力したいカラムの番号を指定する。開始は1からで、 -(ハイフン)を使って範囲を指定することもできる。