【发布时间】:2017-06-16 15:31:09
【问题描述】:
我在一个目录中有一堆文件。但我只想将以ABC 或XYZ 开头的文件传输到SFTP 服务器。如何在我的 mput 命令中过滤这些?
【问题讨论】:
我在一个目录中有一堆文件。但我只想将以ABC 或XYZ 开头的文件传输到SFTP 服务器。如何在我的 mput 命令中过滤这些?
【问题讨论】:
如果您的文件都在当前目录中:
sftp user@server << EOF
cd /destination
$(for i in ABC* XYZ*; do echo "put $i"; done)
EOF
输出(示例):
连接到服务器。 sftp> cd /目标 sftp> 把 ABCfoo.txt 上传 ABCfoo.txt 到 /destination/ABCfoo.txt ABCfoo.txt 100% 0 0.0KB/s 00:00 sftp> 放 XYZfoo.txt 上传 XYZfoo.txt 到 /destination/XYZfoo.txt XYZfoo.txt 100% 0 0.0KB/s 00:00【讨论】:
只需在sftpput 命令(或mput 别名)中使用文件掩码:
cd /destination/path
put ABC*
put XYZ*
请注意,与常见的命令行 ftp 客户端相反,在 OpenSSH 中 sftp put 本身可以上传多个文件(而 mput 只是 put 的无证别名)。
【讨论】: