찾을 것이 좋습니다.
$ ls -R ./testing/
./testing/:
copy test1 test2 test3 test4
./testing/copy:
test2 test4
./testing/copy/test2:
testa testb
./testing/copy/test4:
testa testb
./testing/test1:
testa testb
./testing/test2:
testa testb
./testing/test3:
testa testb
./testing/test4:
testa testb
: 발생합니다
$ mkdir ./testing/copy
$ find ./testing/ -mindepth 1 -maxdepth 1 ! -name test1 ! -name test3 ! -name copy -execdir cp -R '{}' ./copy/ ';'
을 실행, 지금
$ ls -R ./testing
./testing:
test1 test2 test3 test4
./testing/test1:
testa testb
./testing/test2:
testa testb
./testing/test3:
testa testb
./testing/test4:
testa testb
:
$ mkdir -p ./testing/test{1,2,3,4}
$ touch ./testing/test{1,2,3,4}/test{a,b}
가 발생합니다 :
의 일부 시험 과목을 만들어 보자 0
배경 정보 :
요약 : 복사해야 할 디렉토리를 찾아 복사 명령을 실행하십시오. 이 경우 'test1'과 'test3'을 제외하고 모든 디렉토리를 복사 해 봅시다.
-mindepth 1 옵션으로 찾을 수 없습니다. 가능하면 .. 디렉토리가 깊이 0에 있기 때문에.
-maxdepth 1 옵션을 사용하면 find가 모든 단일 하위 디렉토리를 개별적으로 복사하지 못하게 할 수 있습니다. cp -R 명령은 하위 디렉토리를 처리하므로 해당 디렉토리가 포함됩니다.
-exec 대신 -execdir을 사용하면 전체 경로를 cp 명령의 대상 디렉토리로 포함 할 필요가 없습니다.
찾기를 실행하기 전에 대상 디렉토리를 mkdir하는 것을 잊지 마십시오. 결과에서이 디렉토리를 제외하는 것을 잊지 마십시오! 따라서 ! 예제에서는 옵션을 복사하십시오.
나는 이것이 올바른 방향으로 당신을 나타낼 것을 바랍니다.