SCUEL開発者ブログ

医療機関および介護事業所などのデータベース事業『SCUEL』を作っているエンジニア達のブログです。エンジニア募集中です!ご興味がありましたら、以下のフォームからお問い合わせください。 http://goo.gl/forms/8fPwBHDL2H

コマンドラインで素早く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からで、 -(ハイフン)を使って範囲を指定することもできる。