1)mysqlのSQL実行結果を取得
2)SQL実行結果をCSV形式へ変換
3)CSV形式のファイルを受信
の段階分け。
1)mysqlのSQL実行結果を取得
Teratermで
mysql -u[USER] -p[PASSWORD] [DBNAME] < [sqlファイル名]
とすると、sqlファイルの内容の実行結果が標準出力で出力される。
ファイルとして保管するなら>[出力ファイル]のリダイレクトを行えばいい。
2)SQL実行結果をCSV形式へ変換
sed -e "s/\t/,/g" < [SQL結果ファイル名]
とすると、CSV形式に変換した結果が標準出力で出力される。
このパラメータ記述は要はタブ文字をカンマに置換する処理。
(末尾のgはホールドスペースやパターンスペースという単語が出てくる話らしいが現状放置)
変換結果はその後ファイルとして受信する必要があるため、>[出力ファイル]のリダイレクトをする。
3)CSV形式のファイルを受信
TeraTermでCSV形式への変換結果があるパスで
・[ファイル]→[SSH SCP]を選択
・下半分の入力画面のFromに変換結果のファイル名
Toは受信ファイルの配置場所を入力
・Recieveボタンを押下
これで受信される。
この辺は自動化したいなぁ。
シェルスクリプト書けば1と2の処理は自動化できるかね。
入力SQLファイルと出力パス(デフォルト値での動作可)を入力にして動作するような。
1と2は中間ファイルが不要ならパイプでつなげてしまえるわけで
PR