0

我正在使用vsql将 vertica 表加载到 csv 文件中:

vsql -c "select * from ..." ... -o file.csv

当我在输出文件的末尾看到类似 Windows 的 CRLF 符号时,我感到很惊讶。它与记录或字段分隔符不匹配,因为我使用了其他符号。

有没有办法改变 vsql 的行为?在理想情况下,我希望文件以最后一列的最后一个值结尾,最后没有任何 CR 或 LF 符号。

注意问题是关于设置 vsql,而不使用其他程序从输出中删除符号。

4

1 回答 1

1

当您想使用面向行的工具时,您需要解析最后一行。可以使用删除\r最后一行的字符

 sed '$ s/^$//' file.csv > newfile.csv

问题是您看不到换行符的换行符。答案是用另一个不属于您的正常数据的字符替换它。

 tr '\n' '\001' < file.csv | sed 's/..$//' | tr '\001' '\n'
于 2017-09-06T20:34:52.867 回答