PostgreSQLのpsqlコマンドからExcelカンマ区切り形式のCSVを作成します。
# test_db の user_m テーブルから 項目 user_id, user_name, new_stamp, new_client を対象に Excelカンマ区切り形式のCSV(shift_jis、各項目はカンマ区切り、項目の内容に「"」「,」「改行」を含む場合" -< ""変換後、項目を"で囲む、項目中の改行はLFのみ、行末の改行はCR + LF)を out.csv という名前で書き出す。 # ※ あまりないと思いますが、文字列中にバックスペース\bやベル\aが入っていると失敗します。 # ※ shift_jisへの変換はpostgresqlのclient_encoding指定を利用します。 psql -U postgres -d test_db -AF$'\b' -R$'\a\n' -c " set client_encoding to sjis; select user_id, user_name, new_stamp, new_client from user_m ; " | \ perl -ne ' s/\r\n/\n/; s/"/""/g; s/[\b]/","/g; $buf = (!s/\a\n$/"\r\n/) ? $buf.$_ : print("\"${buf}${_}") && ""; ' > out.csv