我正在使用vsql进行导出,并且在标题中包含了一个显式的‘\pset记录'\n’。
我希望生成的文本文件在每个记录的末尾只有'LF‘,但是记录以'CRLF’结尾,尽管记录分隔符中缺少'\r‘。这对我来说是个问题,因为我需要导出的文件没有'\r‘字符。我在运行Windows。
还有其他人遇到过这个问题吗?我在vsql文档中找不到任何相关的内容。
发布于 2014-11-26 01:48:53
我尝试使用\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协议要求在传输开始之前知道确切的文件大小,所以它必须在传输之前进行转换。
https://stackoverflow.com/questions/27139600
复制相似问题