命令行界面 – 如何在同一台FTP服务器上移动一组文件?

在远程FTP服务器上,我在remote.dir1目录中有一组文件.我想将该目录中的所有文件移动到remote.dir2.

我正在使用lftp并尝试这样的事情:

lftp> mv remote.dir1/* remote.dir2/

它不起作用并显示:Access failed:550 remote.dir1 / *:文件名,目录名或卷标语法不正确.

我也尝试过:

lftp> glob -a mv remote.dir1/* remote.dir2/

显示用法消息:用法:mv< file1> < file2的>

但是,移动单个文件有效:lftp> mv remote.dir1 / file1 remote.dir2 /

作为最后的手段,我们可以构造一个包含一组lftp mv命令的文件并将其作为源代码.
有没有我不知道的解决方案?
或者,该任务是否有任何功能强大的命令行工具?

编辑:
我受限于FTP环境,因此由于环境限制,只有使用FTP的解决方案是可接受的.

最佳答案
出于文档目的,我将发布用于完成任务的步骤.非常感谢任何更好的解决方案. 😉

注意:此解决方案使用lftp FTP客户端.您可能必须先将其安装在计算机上才能继续.

解:

lftp> renlist remote.dir1/ | "sed 's/\(.*\)/mv \"\1\" \"remote.dir2\/\"/'" > list  
lftp> source list  
lftp> !rm list  

或者,one-linerTM:

lftp> renlist remote.dir1/ | "sed 's/\(.*\)/mv \"\1\" \"remote.dir2\/\"/'" > list && source list && !rm list

转载注明原文:命令行界面 – 如何在同一台FTP服务器上移动一组文件? - 代码日志