我在Linux环境中使用presto Db。当我想保存我的查询结果到一个文件,它保存与引号周围。
假设我运行:
presto-cli --schema default --catalog hive --execute "select distinct(cust) from sales" > results.txt
,结果保存如下:
"David B"
我使用sed 's/"//g'来删除引号,但我想知道是否有一种方法来解决这个问题。
默认输出格式为CSV
。您可以使用TSV
(制表符分隔的值),它不会在字段周围使用引号:
presto --output-format TSV --execute "SELECT ..."
如果您想将制表符转换为逗号(或其他字符),您可以通过标准UNIX tr
命令将结果管道化:
presto ... | tr 't' ','
请注意,TSV
输出格式使用c风格的转义字段,所以如果您的数据有制表符,换行符,反斜杠等,您将在输出中看到n
或\
。