質問: 先日、shellからsql実行して結果をcsv出力したいですと質問した者です ``` #!/bin/bash filename=test.csv cat $filename | while read line do name=$(echo "$line" | cut -d',' -f1) sql=$(echo "$line" | cut -d',' -f2-) sqlplus -s ユーザ名/パスワード << EOF set colsep','; set underline off; SPOOL /home/oracle/gomi/$name.csv CREATE $sql SPOOL OFF exit EOF cat gomi/$name.csv | sed 1d | sed2d > kekka/$name.csv ``` 色々とサイト等を参考にして考え上記のシェルを作成しました 実行したsqlの結果をカンマ区切りにしてcsv出力してそこから更に不要な空白等を 消してkekkaディレクトリにcsv出力するという感じになっています これで id, name, password 1 田中, test という風にcsv出力できたのですが、カラム名が途中で途切れて困っています 具体的には id, name, pass 1, 田中, test 上記のようにカラム名が"password"のはずが"pass"までしか表示されない状態です 調べてみると SQL*PLUSの表示幅は自動的に決定されカラムヘッダは勝手に捨てられるとのことでした col カラム名 format a数値 で対策できるとあったのですが、 これ以外の解決方法はないのでしょうか?
回答: その通り、 > > col カラム名 format a数値 で対策できるとあったのですが、 > > > COLUMN PASSWORD FORMAT A8 とします。