0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

パイプ区切りファイルをカンマ区切りファイル(CSV)へと変換したい

Posted at

パイプ区切りファイルを CSV(Comma Separated Value) = カンマ区切り ファイルへと変換するスクリプトを紹介します。

以下のようなパイプ区切りファイルがあるとします。

$ cat pipe.txt 
 id |  name  | score | class
----+--------+-------+-------
  1 | Yamada |    90 |     2 
  2 |   Sato |    80 |     1
  3 | Suzuki |    95 |     1

以下の三つを目的としたワンライナーを書くと、次のようになります。
① パイプ(|) をカンマ(,)に変換
② 余計な空白を削除
③ 二行目を削除

$ sed -e 's/|/,/g' -e 's/ //g' ./pipe.txt | sed '2d'                
id,name,score,class
1,Yamada,90,2
2,Sato,80,1
3,Suzuki,95,1

ついでにこれをシェルスクリプト化しておきます。chmodコマンドで実行可能な状態にしておきます。

$ cat ./converter.sh 
#!/bin/bash

sed -e 's/|/,/g' -e 's/ //g' ./$1 | sed '2d' > ./$2
echo convert $1 to $2

$ chmod 755 ./converter.sh

第一引数に変換元のファイル、第二引数に変換後のファイル名を指定することで、変換可能です。

$ ./converter.sh pipe.txt comma.csv
convert pipe.txt to comma.csv

$ cat comma.csv 
id,name,score,class
1,Yamada,90,2
2,Sato,80,1
3,Suzuki,95,1

ご覧いただきありがとうございました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?