FTP文件传输将标签转换为空格

时间:2014-04-07 19:57:09

标签: linux ftp put

我正在执行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'以确保在发送之前删除所有空格)

文件传输完成后会发生这种情况吗?我是否需要在脚本中添加一些内容,以便在特定模式下进行传输以防止这种情况发生?

1 个答案:

答案 0 :(得分:0)

首先,尝试确认远程用户在正常流程之外收到的文件中的内容。如果您的远程用户可以使用Unix / Linux命令行并执行

head -1 ftped_file.txt | cat -vet

并且您应该看到^I字符序列,这意味着标签位于远程文件中。

这假设您文件中的第一行文本中包含Tab字符。如果没有,那么您需要将head -1更改为head -5或您需要查看具有标签字符的行所需的任何计数。


否则,您的文件可以更改3个位置(可能更多)。

  1. 你的ftp客户端。执行man ftp并搜索“标签”和/或“空格”,并确认您的客户端上没有将标签转换为空格的选项。

  2. 远程ftp服务器。您必须找到该服务器的文档并执行相同的搜索。

  3. (最有可能的地方),您的远程客户端的文件查看器?他们是否在Ultra-Edit,notepad ++或其他文本编辑器中打开此文件?其中许多都有默认选项将标签转换为空格。