![출력으로 덮어쓰지 않고 파일 찾기 및 이동](https://linux55.com/image/146438/%EC%B6%9C%EB%A0%A5%EC%9C%BC%EB%A1%9C%20%EB%8D%AE%EC%96%B4%EC%93%B0%EC%A7%80%20%EC%95%8A%EA%B3%A0%20%ED%8C%8C%EC%9D%BC%20%EC%B0%BE%EA%B8%B0%20%EB%B0%8F%20%EC%9D%B4%EB%8F%99.png)
다음에서 일부 파일을 찾아서 이동하려고 합니다./홈/사용자/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/ ;