我正在尝试使用以下命令将存储在变量中的SQL输出回显到.csv文件中
sql=$(sqlplus -s $user/$pass@$db << EOF
SELECT DISTINCT id, customer
FROM orders;
exit;
EOF
)
echo $sql > tmp.csv
当我打开.csv时,输出全部在一行上?
在SQL * Plus中使用SPOOL
不是一个选项,需要某种方式来执行此操作。
如何将其显示为.csv,而不是单行显示?
答案 0 :(得分:5)
在shell变量中使用双引号:
echo "$sql" > tmp.csv
如果没有引号,所有换行符都会转换为空格。