![특정 파일 확장자 스트립 폴더 재동기화/복사](https://linux55.com/image/161230/%ED%8A%B9%EC%A0%95%20%ED%8C%8C%EC%9D%BC%20%ED%99%95%EC%9E%A5%EC%9E%90%20%EC%8A%A4%ED%8A%B8%EB%A6%BD%20%ED%8F%B4%EB%8D%94%20%EC%9E%AC%EB%8F%99%EA%B8%B0%ED%99%94%2F%EB%B3%B5%EC%82%AC.png)
하위 디렉터리가 있는 폴더가 많이 있습니다. 아래를 참조하세요.
Books
-- Temp1.nfo
-- Temp2.txt
-- Temp3.doc
Books 2
-- Temp4.nfo
-- Temp5.txt
-- Temp6.doc
txt 및 doc 파일 확장자를 복사하여 디렉토리에 넣고 싶습니다. 한 가지 예
Final
--Temp2.txt
--Temp3.doc
--Temp5.txt
--Temp6.doc
cp 명령을 사용하여 이 작업을 수행할 수 있습니다. 문제는 상태를 볼 수 없거나 테스트 실행을 할 수 없다는 것입니다.
cp -u **/{*.mkv,*mp4,*avi} /home/joedoe/Books/
이 작업을 수행하기 위해 rsync 명령을 작성하는 데 도움을 줄 수 있는 사람이 있나요?
답변1
SRC rsync
DEST 구문은 SRC DEST 구문과 매우 유사하므로 cp
다음과 같은 것을 사용할 수 있습니다.
rsync -auv */*.{txt,doc} /home/joedoe/Books/
모든 *.txt 및 *.doc 파일을 대상 디렉터리에 복사합니다.
옵션:
-a
보관 모드( 단축키-rlptgoD
)-u
수신기에서 최신 파일 건너뛰기(예cp -u
: )-v
장황함을 증가시키다
아카이브 옵션에는 -a
재귀 옵션도 포함되어 있으므로 필요한 경우 추가 옵션을 사용하여 이 플래그를 비활성화할 수 있습니다 -r
(디렉토리도 패턴과 일치하고 재귀를 비활성화하므로 복사됩니다).--no-r
-a
Book/my.doc/
*.doc
-a --no-r
출력은 --dry-run
다음과 같습니다.
$ rsync --dry-run -auv */*.{txt,doc} /home/joedoe/Books/
sending incremental file list
created directory /home/joedoe/Books
Temp2.txt
Temp3.doc
Temp5.txt
Temp6.doc
sent 221 bytes received 69 bytes 580.00 bytes/sec
total size is 11 speedup is 0.04 (DRY RUN)
여러 매개변수를 추가하여 또는 -v
같은 더 자세한 출력을 얻을 수 있습니다 .-vv
-vvv