2015-01-30 2 views
0

.jpg 인 모든 내 파일을 찾고 새 디렉토리를 복사하는 스크립트를 작성하려고합니다. 그것은 현재 다음과 같습니다 다음 IMG가 _ #### 다시 0001로 재설정하고 다시 계산 시작했을 때Bash 스크립트의 파일을 덮어 쓰지 않고 파일을 복사하는 방법

find ~/Pictures -iname \*.jpg -exec cp {} ...newDirectory \;  

문제는, 내 오래된 파일 중 일부는 새로운 파일과 같은 이름을 가지고있다.

파일을 덮어 쓰지 않고 .jpg 파일을 찾고 복사하는 방법이 있습니까? 이상적으로는 프로세스에 새로운 이름을 부여하십시오.

편집

나는 나름대로 내가 찾던 정확히 수행하는 rsync에 대한 학습 끝났다. 도와 주셔서 감사합니다!

답변

0

매개 변수를 cp에 사용하십시오. 기존 파일을 덮어 쓰지 마십시오.

동일한 이름을 방지하려면 모든 이름을 고유하게 지정할 수 있습니다. 예 :

$ touch screenshot.jpg 
$ cp screenshot.jpg screenshot-$(date "+%s").jpg 

그래서 기본적으로, 질량은 같은 이름 + 날짜로 복사 할 새 파일의 이름을 바꿉니다. 그러면 그 (것)들을 이미 거기있는 것과 다른 것으로 만들 것이고, 이전의 것들은 이름이 없거나 (나중에 반복한다면) 날짜가 다를 것입니다.

+0

아이디어를 제공해 주셔서 감사합니다. 이 명령을 찾기 기능에 넣으면 파일 중 하나에서 복사/이름 변경 만 실행합니다. 어떤 아이디어? '~ 데스크탑/pic_folder/-iname \ * .jpg -exec cp {} ~/Desktop/new_folder/name - $ (날짜 "+ % s") .jpg \;' – wtfsnowman

관련 문제