당신이 한 무리가 있다고 가정하자 .docx
, .mp3
, .txt
그리고 .xlsx
이 디렉토리 구조에 저장된 파일을 :
/files/
/files/dir1/
/files/dir1/dir11/
/files/dir1/dir12/
/files/dir1/dir13/
/files/dir2/
/files/dir3/
/files/dir3/dir31/
/files/dir3/dir32/
/files/dir4/
/files/dir5/
/files/dir51/
/files/dir52/
/files/dir53/
/files/dir54/
... 발견 된 모든 .mp3
파일 을 복사하기 위해 모든 해당 디렉토리로 재귀를 원 /home/me/music/
하지만 대상 디렉토리에 디렉토리 트리를 유지 하지 않으려는 경우 (즉, 발견 된 모든 .mp3
파일 /home/me/music/
을 각각의 디렉토리에 복사하는 대신 복사하려는 경우) 예컨대 /home/me/music/dir1/
, /home/me/music/dir1/dir11/
등등).
이 경우, 쉘 터미널 (bash)에서 먼저 파일 검색 루트에 액세스하기 위해이 명령을 실행하십시오.
cd /files
...이 명령을 실행하십시오.
for i in `find . -iname '*.mp3'`; do cp $i /home/me/music/; done
혹시 않는 대상에 소스의 디렉토리 트리를 유지 (실행 한 후 대신이 명령을 실행하려면 cd /files
) :
find . -iname '*.mp3' | cpio -pdm /home/me/music/
위의 명령에서 검색이 대소 문자를 구분 (즉, 일치 .mp3
, .MP3
, .mP3
및 .Mp3
). 검색에서 대소 문자를 구분 하려면 -name
대신 사용하십시오 -iname
(예 : 문자열을 사용 -name
하면으로 .mp3
끝나는 파일 .mp3
은 .MP3
, .mP3
또는로 끝나지 않는 파일과 일치 함 .Mp3
).
-iname
대신에 권장 합니다 .-name
.MP3