如何移动同一FTP服务器上的一组文件?

cyc*_*hoi 5 command-line-interface ftp

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

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

lftp> mv remote.dir1/* remote.dir2/
Run Code Online (Sandbox Code Playgroud)

它不起作用并显示: Access failed: 550 remote.dir1/*: The filename, directory name, or volume label syntax is incorrect.

我也试过:

lftp> glob -a mv remote.dir1/* remote.dir2/
Run Code Online (Sandbox Code Playgroud)

显示使用信息: Usage: mv <file1> <file2>

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

作为最后的手段,我们可以构建一个包含一组 lftpmv命令和source它的文件。
有没有我不知道的解决方案?
或者,是否有任何功能强大的命令行工具来完成这项任务?

编辑:我仅限于 FTP 环境,因此由于环境限制,只能接受使用 FTP 的解决方案。

cyc*_*hoi 5

出于文档目的,我将发布我用来完成任务的步骤。任何更好的解决方案将不胜感激。;-)

注意:此解决方案使用lftpFTP 客户端。您可能必须先将其安装在您的计算机上,然后才能继续。

解决方案:

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

或者,单行TM

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