하나의 특정 파일만 포함된 모든 디렉터리 가져오기

하나의 특정 파일만 포함된 모든 디렉터리 가져오기

원격 서버에 일련의 디렉터리(D1, D2, D3...)가 있고 각 디렉터리에는 동일한 이름(f1, f2, f3)을 가진 여러 파일이 포함되어 있습니다.


나는 D1: f1, f2, f3
D2: f1, f2, f3
D3: f1, f2, f3 on the 원격 서버를 가지고 있습니다
.
.
.

내 로컬 컴퓨터에서
D1: f1
D2: f1
D3: f1 을 사용하고 싶습니다
.
.
.

f1만 포함하는 모든 디렉터리(D1/f1, D2/f1, D3/f1,...)를 가져와야 합니다. SFTP가 정규 표현식을 지원하지 않는다는 것을 알고 있지만 이를 수행하는 다른 방법이 있습니까? SFTP에서 이것이 가능하지 않은 경우 scp 또는 rsync를 사용하여 이를 수행할 수 있는 방법이 있습니까?

답변1

rsync명령으로 할 수 있는 일

rsync --dry-run -avR remoteHost:'/path/to/./D*/f1' /path/to/target

마찬가지로 필요한 경우 ssh해당 remoteHost구성 요소를 사용할 수도 있습니다 remoteUser@remoteHost. 원본 경로의 점은 /./디렉터리가 복사본에 포함될 위치를 표시합니다. 현재 디렉토리에 쓰려는 경우가 /path/to/target이에 해당할 수 있습니다 ..

mkdir -p /tmp/src/D{1,2,3} /tmp/dst
touch /tmp/src/D{1,2,3}/f{1,2,3}

rsync -avR localhost:'/tmp/src/./D*/f1' /tmp/dst/
ls -R /tmp/dst

관련 정보