URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 23202
[ Назад ]

Исходное сообщение
"Перекодировка файла"

Отправлено Pred , 20-Ноя-02 11:45 
Помогите, я в UNIX не шибко соображаю. Такая проблема - при автоматической передачи текстового файла c UNIX сервера на NT сервер по FTP протоколу, не происходит перекодировка конца строк, и DOS программа не правильно работает с файлом. Есть ли возможность такой перекодировки в фоновом режиме средствами UNIX.

Содержание

Сообщения в этом обсуждении
"RE: Перекодировка файла"
Отправлено Alex AZ Zalesny , 20-Ноя-02 12:12 
>Помогите, я в UNIX не шибко соображаю. Такая проблема - при автоматической
>передачи текстового файла c UNIX сервера на NT сервер по FTP
>протоколу, не происходит перекодировка конца строк, и DOS программа не правильно
>работает с файлом. Есть ли возможность такой перекодировки в фоновом режиме
>средствами UNIX.

Возможно, это не самое лучшее ренешие, но я борюсь с этой проблемой так.
Делаем скрипт на Перле (называем его, например, unix2dos.plx)

#!/usr/bin/perl -w

while (<>) {
  s/\n/\r\n/;
  print;
}

(не забудем chmod +x unix2dos.plx)
И потом можно так unix2dos.plx unixfile > unixfile.TXT
или так: unix2dos.plx < unixfile > unixfile.TXT
Потом, как понимаешь, передавать по FTP надо уже файл unixfile.TXT
Можно ли эту штуку вкрутить прямо в FTP? Не знаю. Она, по-моему, не поддерживает программных каналов.

Но, если твой ftp-клиент на стороне виндов позволяет установить тип файла,
как текстовый (или ASCII), то по идее, все должно делаться автоматически. Но я не проверял.

Успехов.

az


"RE: Перекодировка файла"
Отправлено J , 20-Ноя-02 12:31 
>Помогите, я в UNIX не шибко соображаю. Такая проблема - при автоматической
>передачи текстового файла c UNIX сервера на NT сервер по FTP
>протоколу, не происходит перекодировка конца строк, и DOS программа не правильно
>работает с файлом. Есть ли возможность такой перекодировки в фоновом режиме
>средствами UNIX.


надо при передаче файла указать, что он текстовый, тогда перекодировка будет осуществляться автоматически
mode ascii
mode a
для большинства виндовых клиентов
или настроить расширения файлов в более умных