我在目录中有大量文件。但我想仅向SFTP服务器传输以ABC
或XYZ
开头的文件。如何在mput
命令中过滤这些内容?
答案 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}})。