내 폴더 구조는 다음과 같습니다.
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
.