sedでcsvの先頭行にカラム名を追加する(Mac編)
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コマンドを使うのが結局一番よいらしい。
Author And Source
この問題について(sedでcsvの先頭行にカラム名を追加する(Mac編)), 我々は、より多くの情報をここで見つけました https://qiita.com/zaburo/items/f3a86c80b33db513c847著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .