scp 파일을 여러 폴더에 복사

scp 파일을 여러 폴더에 복사

file.txt원격 상자로 scp하고 싶습니다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 {} \;

관련 정보