りんちゃんの日記

日常を書き留めていきます。

シェル MariaDBからCSVを出力する

[前提条件]
centOS7

nkfインストール
yum localinstall -y http://mirror.centos.org/centos/6/os/x86_64/Packages/nkf-2.0.8b-6.2.el6.x86_64.rpm

 

#!/bin/sh
#データベース接続設定
DBUSER="DBユーザ名"
DBPASS="DBパスワード名"
DBNAME="DB名"
DBHOST="DBホスト名"

#パスを通す
MARIADB="/usr/bin/mysql" 
NKF="/usr/bin/nkf"

 

#SQL実行(\nを削除して、改行コードを「CRLF」
$MARIADB -u "${DBUSER}" -p"${DBPASS}" -D "${DBNAME}" -h "${DBHOST}" \
-B -e "${sql}" | sed 's/"/""/g;s/\t/","/g;s/^/"/;s/$/"/;s/\\n/'"$CRLF"'/g' > \
"output.csv"

 

#SJIS変換
$NKF -Lw -s --overwrite "output.csv"