열거 폴더에 디렉터리 구조를 복사합니다.

열거 폴더에 디렉터리 구조를 복사합니다.

내 폴더 구조는 다음과 같습니다.

ej-1/index.html
ej-1/js/scripts.js
ej-2/index.html
ej-2/js/scripts.js
...
ej-12/index.html
ej-12/js/scripts.js

때때로 새로운 기본 파일 및 폴더 세트를 사용하여 다른 열거된 폴더를 재구성해야 합니다. 이를 위해 다음 명령을 사용하여 이상적인 폴더 기본 구조를 다른 폴더에 복사해 보았습니다.

cp -r ej-1/* ej-{2..12}/*

내 기대는 다음과 같습니다

ej-1/* -> ej-2/*
ej-1/* -> ej-3/*
...
ej-1/* -> ej-12/*

대신 각 폴더의 내용을 마지막 폴더에 복사하여 일부 덮어쓰기가 발생합니다.

ej-1/* -> ej-12/*
ej-2/* -> ej-12/*
ej-3/* -> ej-12/*
...

내가 뭘 잘못했나요?

답변1

cp설명서를 보세요 . 그렇습니다 man cp. 관련 부분은 아래와 같습니다.

SYNOPSIS
       cp [OPTION]... SOURCE... DIRECTORY
DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

여러 매개변수를 지정하면 이것이 사용되는 형식입니다. 그러면 SOURCE여러 s가 하나의 s로 복사 됩니다 DIRECTORY. 즉,아니요당신은 무엇을 원합니까? 대신, 단일 디렉터리를 여러 디렉터리에 복사하려면 루프와 같은 것을 SOURCE사용할 수 있습니다 .for

for i in {2..12}; do cp -r ej-1/* ej-$i; done

참고: 이는 테스트되지 않았습니다. 또한 *(귀하의 질문에 대한 해석에 따라) 불필요했기 때문에 대상에서 글로브를 제거하고 DIRECTORY명령 결과를 one 으로 만들었습니다 cp.

관련 정보