bash: 동일한 파일 공유 이름을 사용하여 3개의 파일을 3개의 디렉터리에 복사할 수 없는 이유는 무엇입니까?

bash: 동일한 파일 공유 이름을 사용하여 3개의 파일을 3개의 디렉터리에 복사할 수 없는 이유는 무엇입니까?

그래서 내가 이것을 할 수 있다면:

$ mkdir ./blah_{007,011,090}

마침내 세 개의 디렉토리를 얻었습니다 ...

나는 왜 이것을 할 수 없습니까?

cp ../blah_{007,011,090}.swf ./blah_{007,011,090}_src

파일을 3개의 디렉토리에 복사하시겠습니까?

답변1

귀하는 효과적으로 다음을 실행하고 있습니다.

cp ../blah_007.swf ../blah_011.swf  ../blah_090.swf ./blah_007_src ./blah_011_src ./blah_090_src

위 명령이 다음 명령과 다른 이유는 분명하다고 생각합니다.

cp ../blah_007.swf ./blah_007_swc
cp ../blah_011.swf ./blah_011_swc
cp ../blah_090.swf ./blah_090_swc

후자를 원하면 다음을 반복하십시오 cp.

for f in blah_{007,011,090}
do
  cp ../"$f.swf" "$f"_swc
done

답변2

바라보다 man cp:

   cp [OPTION]... [-T] SOURCE DEST
   cp [OPTION]... SOURCE... DIRECTORY
   cp [OPTION]... -t DIRECTORY SOURCE...

DESTSOURCE...(... 참조) 와 비교하면 단일 속성만 표시됩니다 . cp언제 SOURCES끝날지, 언제 시작할지 아는 방법 DEST.

사용 for- 루프.

관련 정보