단일 디렉터리를 다른 이름을 가진 여러 디렉터리에 복사

단일 디렉터리를 다른 이름을 가진 여러 디렉터리에 복사

목록을 기반으로 단일 디렉터리(하위 디렉터리 포함)를 여러 새 디렉터리에 복사하려고 합니다. 예를 들어 다음과 같이 할 수 있습니다.

mkdir Fred Barney Thelma Louise Foo Bar

미리 만들어진 디렉터리(일부 빈 하위 디렉터리 포함)를 동일한 이름 집합에 복사하는 방법은 무엇입니까? 예를 들어:

cp -r master_folder/ Fred Barney Thelma Louise Foo Bar

어떤 제안이라도 대단히 감사하겠습니다!

답변1

루프를 사용하여 복사하려는 디렉터리를 반복하고 기본 디렉터리의 내용을 각 디렉터리에 복사합니다.

dest=(Fred Barney Thelma Louise Foo Bar)
for d in "${dest[@]}"; do
    cp -r master "$d"
done

답변2

디렉터리 이름에 특수 문자(공백 또는 \"')가 포함되어 있지 않은 경우:

echo Fred Barney Thelma Louise Foo Bar | xargs -n1 cp -r master_folder

이는 다음과 같이 작성할 수도 있습니다.

xargs -n1 cp -r master_folder  < <(echo Fred Barney Thelma Louise Foo Bar)

또는 더 구체적으로 bash를 통한 반복(임의의 파일 이름에 대해 작동함):

for user in Fred Barney Thelma Louise Foo Bar ;do
    cp -r master_folder "$user"
  done

관련 정보