我的ftp文件夹中有一组文件。我只能访问ftp模式。我想将扩展名为.txt的文件重命名为.done
前:
1.txt, 2.txt, 3.txt
到
1.done, 2.done, 3.done
只有重命名命令才能在此ftp中运行。我期待像
这样的东西rename *.txt *.done
在一个命令中重命名它们。
答案 0 :(得分:3)
简而言之:你做不到。 FTP非常基础,不支持大规模重命名。您可以为其编写一个小脚本,也可以下载一些帮助软件,例如the one here。
答案 1 :(得分:1)
你好,
即使问题很老,我认为对其他人来说,阅读我的建议也是有用的。
我找到了一个很好的解决方案,结合curlftpfs,"一个基于cURL和FUSE&#34的FTP文件系统;正如他们所定义的那样,以及rename linux和unix多重命名工具。
我测试了linux mint 17(我认为它应该适用于其他基于debian的发行版)
安装curlftpfs
sudo apt-get install curlftpfs
创建装载文件夹
sudo mkdir /mnt/ftp_remote_root
在文件夹
上安装远程ftpsudo curlftpfs -o allow_other -o user="USERWITH@CHARACTERTOO:PASSWORDTOACCESSUSER" ftp://my_ftp_server.com /mnt/ftp_remote_root/
跳转到所需的ftp远程文件夹
cd /mnt/ftp_remote_root/path/to/folder
重命名为您需要的文件(-v shw新名称,-n显示感兴趣的文件,省略它们以重命名文件)
sudo rename -v -n 's/match.regexp/replace.regexp/' *.file.to.change
可能需要几秒钟,因为它适用于网络。
我认为它非常强大且易于使用。
如果您发现任何问题,请告诉我。
再见
洛伦佐
答案 2 :(得分:0)
尝试这样的事情:
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