我正在使用vsql导出,并且我在标题中包含了一个明确的'\ pset recordsep'\ n''。
我希望生成的文本文件在每条记录的末尾只有'LF',但记录以'CRLF'结尾,尽管记录分隔符中缺少'\ n \'。这对我来说是一个问题,因为我需要导出的文件没有'\ r'字符。我正在运行Windows。
还有其他人遇到过这个问题吗?我在vsql文档中找不到任何相关内容。
答案 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协议要求在传输开始之前知道确切的文件大小,因此必须在传输之前对其进行转换。