2014-11-26 4 views
2

Я экспортирую с помощью vsql, и я включил явный '\ pset recordsep' \ n '' в заголовок.Запись разделения в VSQL Export; CR LF

Я ожидаю, что итоговый текстовый файл будет иметь только «LF» в конце каждой записи, но записи заканчиваются на «CRLF», несмотря на отсутствие «\ r» в разделителе записей. Это проблема для меня, так как мне нужно, чтобы экспортированный файл не имел символов «\ r». Я запускаю Windows.

Неужели кто-нибудь еще сталкивается с этой проблемой? Я не мог найти ничего связанного в документации vsql.

ответ

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, чтобы узнать точный размер файла до начала передачи.

+0

Я закончил экспорт на удаленном сервере Unix, но подход dos2unix также кажется жизнеспособным. Ура! – TroutFishing

Смежные вопросы