2

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

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

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

4

1 回答 1

1

我尝试使用\012(octal for newline) 并将其等同于,\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有些客户端会自动根据文件扩展名(通常标记为 请注意,对于 SCP,由于 SCP 协议要求在传输开始之前知道确切的文件大小,因此必须在传输之前对其进行转换。

于 2014-11-26T01:48:53.060 回答