我想 scpfile.txt
到远程盒子my-remote-vm-1
里面my-remote-vm-1
有两个文件夹conf-1-ver-2
,conf-2-ver-2
.文件夹名称中的整数部分可以来自[0-9]
.
file.txt
scp到这些文件夹的最佳方法是什么?我努力了
scp file.txt my-remote-vm-1:/tmp/conf-[0-9]-ver-[0-9]/.
scp file.txt my-remote-vm-1:/tmp/conf-*/.
两者都失败了scp: ambiguous target
。
答案1
要是一整数会改变(如您的示例所示)您可以这样做:
echo -e "1\n2\n" |xargs -n1 -i -P0 scp file.txt my-remote-vm-1:/tmp/conf-{}-ver-2
答案2
运行scp
一次,然后将其复制到远程服务器本地。
$ scp file.txt my-remote-vm-1:/tmp
$ ssh my-remote-vm-1 'for i in /tmp/conf-[0-9]-ver-[0-9]; do cp /tmp/file.txt "$i"; done'
$ ssh my-remote-vm-1 rm /tmp/file.txt
答案3
可能为时已晚,但也许仅供参考......
find -name "conf-[0-9]-ver-2" -exec scp file.txt {} \;
或更一般的
find -name "conf-*-ver-2" -exec scp file.txt {} \;