在VSQL导出中记录分离; CR LF

时间:2014-11-26 00:58:44

标签: newline carriage-return vertica linefeed vsql

我正在使用vsql导出,并且我在标题中包含了一个明确的'\ pset recordsep'\ n''。

我希望生成的文本文件在每条记录的末尾只有'LF',但记录以'CRLF'结尾,尽管记录分隔符中缺少'\ n \'。这对我来说是一个问题,因为我需要导出的文件没有'\ r'字符。我正在运行Windows。

还有其他人遇到过这个问题吗?我在vsql文档中找不到任何相关内容。

1 个答案:

答案 0 :(得分:1)

我尝试使用\012(换行符为八进制)并将其与\n等同,因此我无法在vsql内找到方法。

您可以从Sourceforge下载一个名为dos2unix.exe的程序并管道它,例如:

vsql -h myserver -U dbadmin -w mypassword -f export.sql | dos2unix.exe > output.txt

另外,第二个想法......如果您要将此输出文件传输到unix服务器,那么您可以在ASCII mode中传输它,并自动为您翻译CRLF。有些客户端会根据文件扩展名(通常标记为Automatic mode)自动执行此操作,但无论文件扩展名如何,您都应该能够专门为某些客户端设置FTP,SFTP甚至SCP。请注意,对于SCP,由于SCP协议要求在传输开始之前知道确切的文件大小,因此必须在传输之前对其进行转换。