从命令行“wput”多个文件?

从命令行“wput”多个文件?

您可以使用以下方式上传单个文件wput

wput file ftp://username:passwd@ipaddress/file

有没有办法上传多个?也许是这样的:

wput {file1,file2} ftp://username:passwd@ipaddress/{file1,file2}

笔记:我知道有使用ftpcurl和其他方法的解决方案。我想知道是否有适用于的解决方案wput

答案1

来自手册:

So you can specify e.g. one URL and read all filenames from a file. 
Or use wput *.txt ftp://host, to transfer all *.txt-files. 
See EXAMPLES for further examples.

−i 文件

−−input−file=文件

从文件中读取 URL 和文件名。如果命令行中也有 URL,则将首先检索这些 URL,除非启用了排序。另请参阅 URL 输入处理部分。如果文件为 −,则将从 stdin 读取 URL。如果您想将要上传到 stdin 的文件内容通过管道传输,目前还无法完成此操作。但您可以使用 --input-pipe 标志并读取内容 a) 从命名管道 -I“cat named.pipe; echo > /dev/null”或 b) 直接从输出数据的命令读取内容。(请参阅 --input-pipe)不要执行 find | wput ftp://host/−i − 之类的操作! Wput 会从当前目录上传所有文件(因为 find 的第一个输出将是“。”),然后再次上传每个文件(因为 find 将其名称发布到 Wput。而且更大的问题是 Wput 将上传 find 给出的每个目录,并且由于 find 本身会递归所有目录,所以文件将被上传三次(对于进一步的子目录,上传次数甚至更多)。使用 wputftp://host/从本地目录上传所有内容。或者使用 find ! −type d | wput ftp://host/−i − 告诉 find,不要输出目录。

相关内容