Comando SFTP - mput do Unix-transfer todos os ficheiros com um prefixo específico
Tenho vários ficheiros numa pasta. Mas eu gostaria de transferir para o servidor SFTP apenas arquivos começando com
ABC
ou XYZ
. Como filtro isto no meu comando?
1
Author: Martin Prikryl, 2017-06-16
2 answers
Se os seus ficheiros estiverem na pasta actual:
sftp user@server << EOF
cd /destination
$(for i in ABC* XYZ*; do echo "put $i"; done)
EOF
Resultado (exemplo):
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
Author: Cyrus, 2017-06-16 17:12:22
Basta usar uma máscara de ficheiros em sftp
put
comando (ou mput
também conhecido por):
cd /destination/path
put ABC*
put XYZ*
Note que, ao contrário do cliente common command-line ftp
, no OpenSSH sftp
o put
em si pode enviar vários ficheiros(e mput
é apenas um nome falso para put
).
0
Author: Martin Prikryl, 2017-09-12 15:56:29