Open2

mysql越しにデータを抜いた時のメモ

antyuntyunantyuntyun

タブ区切りデータをいい感じに置換したカンマ区切りデータにする

以下記事を参照。

参考記事

https://obel.hatenablog.jp/entry/20170117/1484622333

sed 's/"/""/g;s/\t/","/g;s/^/"/;s/$/"/;s/\n//g'

処理内容メモ

  • 「"」を「""」に置換する
    • "重ねてエスケープとしてる
    • "のほうがよいかも
  • タブ区切りを「"」区切りに変更する
    • /tを","に変換
  • ファイルの一番先頭および一番最後の部分は「タブ」にマッチしないため、その2つの部分に個別に「"」を付与している
  • 改行を空白に変換

実際のコマンド

mysql接続先に対してselect結果を出力したい時、上記参考に以下コマンドを発行した。

 mysql db < select.sql | sed -e 's/"/""/g;s/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > select.csv
antyuntyunantyuntyun

mysqlコマンドメモ

#  コマンドラインから実行
mysql db -e "select * from table limit 10"