使用ftp重命名多个文件

时间:2011-11-29 09:54:39

标签: ftp rename

我的ftp文件夹中有一组文件。我只能访问ftp模式。我想将扩展名为.txt的文件重命名为.done

前:

1.txt, 2.txt, 3.txt 

1.done, 2.done, 3.done

只有重命名命令才能在此ftp中运行。我期待像

这样的东西
rename *.txt *.done 

在一个命令中重命名它们。

4 个答案:

答案 0 :(得分:3)

简而言之:你做不到。 FTP非常基础,不支持大规模重命名。您可以为其编写一个小脚本,也可以下载一些帮助软件,例如the one here

答案 1 :(得分:1)

你好,

即使问题很老,我认为对其他人来说,阅读我的建议也是有用的。

我找到了一个很好的解决方案,结合curlftpfs,"一个基于cURL和FUSE&#34的FTP文件系统;正如他们所定义的那样,以及rename linux和unix多重命名工具。

我测试了linux mint 17(我认为它应该适用于其他基于debian的发行版)

  1. 安装curlftpfs

    sudo apt-get install curlftpfs
  2. 创建装载文件夹

    sudo mkdir /mnt/ftp_remote_root
  3. 在文件夹

    上安装远程ftp
    sudo curlftpfs -o allow_other -o user="USERWITH@CHARACTERTOO:PASSWORDTOACCESSUSER" ftp://my_ftp_server.com /mnt/ftp_remote_root/
  4. 跳转到所需的ftp远程文件夹

    cd /mnt/ftp_remote_root/path/to/folder
  5. 重命名为您需要的文件(-v shw新名称,-n显示感兴趣的文件,省略它们以重命名文件)

    sudo rename -v -n 's/match.regexp/replace.regexp/' *.file.to.change
  6. 可能需要几秒钟,因为它适用于网络。

    我认为它非常强大且易于使用。

    如果您发现任何问题,请告诉我。

    再见

    洛伦佐

答案 2 :(得分:0)

尝试这样的事情:

以下示例在FTP服务器上移动/重命名文件

  

for f in $(lftp -u'用户名,密码' -e' set ssl:verify-certificate   没有; ls /TEST/src/*.csv;退出' ftp.acme.com | awk' {print $ 9;}');做   lftp -u'用户名,密码' -e"设置ssl:verify-certificate no; MV   / TEST / src / $ f / TEST / dst / $ f;退出" ftp.acme.com;完成

注意:使用.netrc存储用户名和密码。

答案 3 :(得分:0)

使用以下命令:

ren * .txt * .done