Передача файлов по FTP преобразует вкладки в пробелы

Я делаю запрос FTP PUT, передающий один файл на другой сервер. Это просто текстовый файл.

Текстовый файл, который я передаю, имеет формат ID"TAB"-transID

ftp -ni XX.XX.XXX.XX <<EOF
user ABCD,123456
cd /
put /appl/data/ftp_dpm_412.txt /ftp_dpm_412_$(date +%s).sync


quit
EOF

Принимающая сторона сообщает, что файлы, которые они получают, имеют формат ID"space""space""space""space""space"-transID. Их системе нужна вкладка.

Со своей стороны я подтвердил, что файлы действительно отформатированы как ID"TAB"-transID. (я даже запустил sed 's/ //g', чтобы удалить все пробелы перед отправкой)

Может ли это происходить во время передачи файла? Нужно ли мне что-то добавить в мой скрипт, чтобы он выполнялся в определенном режиме, чтобы этого не происходило?


person user2748540    schedule 07.04.2014    source источник


Ответы (1)


Во-первых, попробуйте подтвердить, что находится в файле, который получил ваш удаленный пользователь, за пределами их обычного процесса. Если ваши удаленные пользователи могут использовать командную строку Unix/Linux и выполнять

head -1 ftped_file.txt | cat -vet

и вы должны увидеть ^I последовательности символов, это означает, что вкладки находятся в удаленном файле.

Это предполагает, что первая строка текста в вашем файле содержит символы табуляции. Если нет, то вам нужно изменить head -1 на head -5 или любой другой счет, который вам нужен, чтобы увидеть строки с символами табуляции.


В противном случае есть 3 места (возможно, больше), где ваш файл может быть изменен.

  1. ваш ftp-клиент. Сделайте man ftp и найдите «табуляция» и/или «пробел» и подтвердите, что в вашем клиенте нет опции, которая преобразует табуляцию в пробелы.

  2. удаленный ftp-сервер. Вам нужно будет найти документ для этого сервера и выполнить тот же поиск.

  3. (наиболее вероятное место), Просмотрщик файлов вашего удаленного клиента? Открывают ли они этот файл в текстовом редакторе, таком как Ultra-Edit, notepad++ или другом? Многие из них имеют опцию по умолчанию для преобразования табуляции в пробелы.

person shellter    schedule 07.04.2014