LoginSignup
13
3

More than 5 years have passed since last update.

sedでcsvの先頭行にカラム名を追加する(Mac編)

Posted at

MacではSedの挙動がLinuxとかとは違ったのでメモ。

やりたいこと

下記のようなCSVがあったとき、

test.csv
01,aaa
02,bbb
03,ccc

下記のように、1行目にカラム行を追加したい。

test.csv
no,name
01,aaa
02,bbb
03,ccc

通常、エディタで開いて追加すればいいだけの話ですが、ファイルが1億行とかの場合、開くのだけでも大変なので、sedで追加したい。

やりかた

本当は・・・

sed -i '' '1s/^/no,name\n/' test.csv

のようにしたい(linuxではできる)。がMacだと期待通り動かない。どうやらBSD系, Linux系の差らしい。

Macでは

sed -i '' '1s/^/no,name\
/' test.csv

のように、実際に改行したコマンドを実行する(nは消す)。

なんかダサイけどとりあえず。

確認

先頭行を見たい場合、lessコマンドを使うのが結局一番よいらしい。

13
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
3