通过bash脚本scp一堆文件:必须有更好的方法

Dav*_*ill 5 bash loops scp

我目前有以下bash脚本:

for a in `seq 16 75`; 
do scp doneill@server:/mnt/device/folder/numbered_file$a.txt ./; 
done;
Run Code Online (Sandbox Code Playgroud)

虽然这确实有效,但速度非常慢.每个文件,对服务器的请求大约需要4-7秒,然后发送文件需要另外3秒左右.

有没有办法做到这一点只涉及发送到服务器的1个命令(以最小化我的VPN花费发送接收每个单独命令的时间)?通常情况下,我会做类似的事情,scp doneill@server:/mnt/device/folder/numbered_file*但文件夹中有数千个文件我不想复制.我只需要那些少数(由序列定义).

Ign*_*ams 5

在 bash 中:

scp doneill@server:/mnt/device/folder/numbered_file{16..75}.txt ./
Run Code Online (Sandbox Code Playgroud)