将目录移至远程文件夹

时间:2019-09-23 08:00:21

标签: file rename sftp lftp

我使用(惊人的)lftp实用工具将文件上传到远程服务器(使用反向镜像命令)。

首先将它们上传到一个临时文件夹中,然后将它们全部上传(〜6000个文件,具有项目相关性),我希望重命名该临时文件夹。

上传过程:

lftp --env-password sftp://$LFTP_USERNAME@$LFTP_HOSTNAME -e "mirror --reverse --verbose --delete build /home/whatever/tmp; bye"

/home/whatever的结果(在FTP服务器上),到目前为止效果很好:

├── tmp
|   ├── file1
|   ├── file2
|   ├── subfolder1
|   |   ├── file3
|   |   └── file4

在阅读lftp文档时,有一个名为mmv的命令,目的是如果输入路径以/结尾,则重命名整个目录。

但是,它保留了旧的目录名称。

不幸的是,我还没有找到使用/home/whatever/tmp/*这样的glob模式进行此类操作的任何方法。

lftp --env-password sftp://$LFTP_USERNAME@$LFTP_HOSTNAME -e "mkdir -pf /home/whatever/current; mmv /home/whatever/tmp/ /home/whatever/current; bye"

结果:

├── current
|   ├── tmp
|   |   ├── file1
|   |   ├── file2
|   |   ├── subfolder1
|   |   |   ├── file3
|   |   |   └── file4

代替(预期结果):

├── current
|   ├── file1
|   ├── file2
|   ├── subfolder1
|   |   ├── file3
|   |   └── file4

有任何提示吗?

文件和文件夹的数量未知,不能在所有子文件夹或“ tmp”下的文件上应用mmv

0 个答案:

没有答案