我正在执行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'
以确保在发送之前删除所有空格)
文件传输完成后会发生这种情况吗?我是否需要在脚本中添加一些内容,以便在特定模式下进行传输以防止这种情况发生?
答案 0 :(得分:0)
首先,尝试确认远程用户在正常流程之外收到的文件中的内容。如果您的远程用户可以使用Unix / Linux命令行并执行
head -1 ftped_file.txt | cat -vet
并且您应该看到^I
字符序列,这意味着标签位于远程文件中。
这假设您文件中的第一行文本中包含Tab字符。如果没有,那么您需要将head -1
更改为head -5
或您需要查看具有标签字符的行所需的任何计数。
否则,您的文件可以更改3个位置(可能更多)。
你的ftp客户端。执行man ftp
并搜索“标签”和/或“空格”,并确认您的客户端上没有将标签转换为空格的选项。
远程ftp服务器。您必须找到该服务器的文档并执行相同的搜索。
(最有可能的地方),您的远程客户端的文件查看器?他们是否在Ultra-Edit,notepad ++或其他文本编辑器中打开此文件?其中许多都有默认选项将标签转换为空格。