2

我正在尝试将 ftp 脚本的输出重定向到 txt 文件。我希望在文件末尾找到以下格式的 ftp 输出:

#this is a part of the complete output after running ftp script via perl
226 Transfer complete
ftp: 100000000 bytes sent in 14.81Seconds 6753.56Kbytes/sec.
ftp> bye

这是在命令提示符下运行命令时获得的。但是,当我将输出重定向到 txt 文件时,我得到以下信息:

226 Transfer complete
ftp: 100000000 bytes sent in Seconds Kbytes/sec.
ftp> 14.816753.56bye 

为了完整起见,我正在通过 perl 运行一个 ftp 脚本(使用 system("ftp -s:script.txt");)并在命令行上使用 '>' 获取其输出。有人可以解释一下出了什么问题。

谢谢

4

1 回答 1

0

我猜在 ftp 应用程序写入“ftp: 100000000 bytes sent in Seconds Kbytes/sec.”之后,它会将光标移回“Seconds”和“Kbytes/sec”之前。分别写“14.81”和“6753.56”。如果将输出重定向到文件,则光标移动 API 调用将不起作用,并且这些数字将附加到下一行的末尾。

(我从未见过 Windows ftp 应用程序的代码,但我在几年前编写的程序中遇到了同样的问题。)

于 2012-06-11T14:14:51.047 回答