sed で、ファイルの中身を一括して置換する

2011年6月9日

sedを使ってファイルの中身を一括して置換する時の書き方

ファイルには

id,携帯電話番号(ハイフンなし)

[text]1,09000000000
2,09000000001
3,09000000002[/text]

という感じで入っている

これを、

[sql]update users set mobile_phone = '[携帯電話番号(ハイフンあり)]’ where id = [id];[/sql]

という形に変換したい。

[shell]sed -e "s/\([^,]*\),\([0-9]\{3\}\)\([0-9]\{4\}\)\([0-9]\{4\}\)/update users set mobile_phone = '\2-\3-\4’ where id = \1;/" 電話番号.csv[/shell]

CentOSLinux,sed,SQL

Posted by GENDOSU