CSVをエクセルで扱う人は多いだろう でも僕はCSVはテキストエディタで編集をしている。 勝手に頭のゼロをなくしたり、元のファイルの内容を壊してしまうからね。 そういうことからCSVはなるべくテキストエディタでやっている人のほうが多いかもしれない。 でも、列の入れ替えはエクセルを使ってやっているのではないか? 固定長であったら簡単にできるけれど、長さが全然違えばテキストエディタでやるのは難しい。 そんな悩みを持っている方にエクセルを使わないで列を入れ替えする方法を紹介する。 正規表現で入れ替える このようなCSVがあったとして、これを一列目と二列目を入れ替えよう。 果物,りんご 果物,みかん 果物,ぶどう 酒,ウオツカ 酒,スコッチ 調味料,塩 vimで置換のコマンドを実行するとすれば以下のようなものになる。 :%s/^\([^,]*\),\([^,]*\)/\2,\1/gc vimだとコ