【发布时间】:2014-07-31 08:44:18
【问题描述】:
让我简要介绍一下我想做的事情,因为现在我的脚本正在将文件从 SFTP 拉到本地系统。确保文件在拉取时不会损坏。所以我需要确保file size 完全相同。从 SFTP 提取文件后,我将file size 和filename 打印到filename.txt,如下所示。我这样做是因为我尝试比较这两个文本文件以确保没有文件损坏。
文件名.txt
7 hankeong_test.txt
3 hankeong_test2.txt
10753 hankeong_test3.txt
但是,SFTP 命令是有限的。它不能只显示Size和File name,我唯一可以使用的命令是ls -l *.txt。下面是从SFTP到input.txt的输出。
input.txt
-rwxr-xr-x 512 501 7 Jul 24 17:54 hankeong_test.txt
-rwxr-xr-x 512 501 3 Jul 25 11:32 hankeong_test2.txt
-rwxr-xr-x 512 501 10753 Jul 24 17:54 hankeong_test3.txt
sftp> ls -l *.txt
sftp> quit
当这两个文件有两种不同的格式时,如何比较它们?
预期输出:
代码可以逐行比较两个文件,看看行是否正确,如果不正确会打印出ERROR消息给用户。
我正在使用 Windows 7 和 SSH 技术访问 SFTP。
有什么建议或其他更好的解决方案可以分享吗?谢谢!
【问题讨论】:
-
你考虑过使用 diff
-
在您的问题中值得一提的是您在本地使用什么操作系统以及您可以使用哪些访问远程系统的方法。从您之前的屏幕截图来看,您似乎在本地计算机上运行 Windows。
-
@TomFenech 抱歉,由于时区问题,回复晚了。我正在使用 Windows 7 和 SSH 技术访问 SFTP。
-
@RussHyde Nop,我还是 perl 新手,这就是为什么我对它还不太了解。我将看看差异。感谢您的建议。
标签: perl