출력으로 덮어쓰지 않고 파일 찾기 및 이동

출력으로 덮어쓰지 않고 파일 찾기 및 이동

다음에서 일부 파일을 찾아서 이동하려고 합니다./홈/사용자/fol1도착하다/홈/사용자/fol2.

일반적으로 나는

find . -type f -name "abc*" -exec mv -t "/path/to/foo/bar" {} +

하지만 이렇게 하면 이미 존재하는 동일한 이름의 파일을 덮어쓰게 됩니다./경로/to/foo/bar.
이미 존재하는 파일을 건너뛰고 싶습니다.

루프가 필요한 경우 셸의 일반 출력이나 로그 파일의 출력도 필요합니다.

어떤 아이디어가 있나요?

답변1

다음 옵션을 사용할 수 있습니다 n.

find . -type f -name "abc*" -exec mv -nt "/path/to/foo/bar" "{}" +

에서 man mv:

-n, --no-clobber
          do not overwrite an existing file

답변2

저는 Mac 터미널을 사용하고 있으며 이 명령은 좋은 결과를 제공합니다.

FIle_Origin 찾기 -type f -name "File_Name" -exec mv {} File_destination/ ;

관련 정보