【问题标题】:FTP File trasfer converts Tabs to SpacesFTP 文件传输将制表符转换为空格
【发布时间】:2014-04-07 19:57:08
【问题描述】:

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

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

【问题讨论】:

    标签: linux ftp put


    【解决方案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++ 等文本编辑器中打开此文件?其中许多具有将制表符转换为空格的默认选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      • 2013-12-12
      • 1970-01-01
      • 2016-08-17
      • 2010-10-02
      • 2014-04-27
      相关资源
      最近更新 更多