Unix sftp - mput命令 - 传输具有特定前缀

时间:2017-06-16 15:31:10

标签: unix sftp filenames

我在目录中有大量文件。但我想仅向SFTP服务器传输以ABCXYZ开头的文件。如何在mput命令中过滤这些内容?

2 个答案:

答案 0 :(得分:3)

如果您的文件都在当前目录中:

sftp user@server << EOF
cd /destination
$(for i in ABC* XYZ*; do echo "put $i"; done)
EOF

输出(示例):

Connected to server.
sftp> cd /destination
sftp> put ABCfoo.txt
Uploading ABCfoo.txt to /destination/ABCfoo.txt
ABCfoo.txt                                                                100%    0     0.0KB/s   00:00    
sftp> put XYZfoo.txt
Uploading XYZfoo.txt to /destination/XYZfoo.txt
XYZfoo.txt                                                                100%    0     0.0KB/s   00:00  

答案 1 :(得分:0)

只需在sftp put命令(或mput别名)中使用文件掩码:

cd /destination/path
put ABC*
put XYZ*

请注意,与常见的命令行ftp客户端相反,在OpenSSH sftp中,put本身可以上传多个文件(而mput只是put的一个未记录的别名{ {1}})。