
폴더 A에 사진이 있고 폴더 B와 C에도 사진이 있습니다. 파일 이름이 동일합니다. 폴더 A에서 검색하고 삭제하는 방법은 무엇입니까? 나는 이 작업을 위해 소프트웨어를 다운로드하는 것을 좋아하지 않기 때문에 Perl 스크립트나 다른 것이 이상적일 것입니다.
답변1
다음 명령을 시도해 보세요.
find . -type f -exec cmp -s '{}' "$destdir/{}" \; -exec echo mv -v "$destdir/{}" "$ToDelete"/ \;
사용하는 방법?
1 단계:중복 파일을 이동할 임시 디렉터리를 만듭니다.
ToDelete=/tmp/ToDelete; mkdir -p "$ToDelete"
2 단계:destdir
거기에서 중복된 사진을 삭제하려는 FolderA 디렉터리로 설정합니다 .
destdir=/path/to/FolderA
3단계첫 번째 소스 디렉터리(FolderB)로 cd하고 명령을 실행합니다.
cd /path/to/FolderB
find . -type f -exec cmp -s '{}' "$destdir/{}" \; -exec echo mv -v "$destdir/{}" "$ToDelete"/ \;
4단계:이제 다음 소스 디렉터리(FolderC)로 이동하여 명령을 다시 실행하세요.
cd /path/to/FolderC
find . -type f -exec cmp -s '{}' "$destdir/{}" \; -exec echo mv -v "$destdir/{}" "$ToDelete"/ \;
좋아요. 이제 명령을 테스트하고 결과를 확인하면 echo
중복된 사진을 /tmp/ToDelete
디렉터리로 이동하는 명령을 제거합니다.
아래 테스트를 참조하세요.
$ ls ~/FolderA
1.jpg 2.jpg 6.jpg 7.jpg 8.jpg
$ ls ~/FolderB
3.jpg 4.jpg 5.jpg 7.jpg 8.jpg 9.jpg
$ ls ~/FolderC
6.jpg 7.jpg 8.jpg 9.jpg
$ ToDelete=/tmp/ToDelete; mkdir -p "$ToDelete"
$ ls /tmp/ToDelete/
$ destdir=~/FolderA
$ cd ~/FolderB
/FolderB$ find . -type f -exec cmp -s '{}' "$destdir/{}" \; -exec mv -v "$destdir/{}" "$ToDelete"/ \;
‘/home/Fischer/FolderA/./8.jpg’ -> ‘/tmp/ToDelete/8.jpg’
removed ‘/home/Fischer/FolderA/./8.jpg’
‘/home/Fischer/FolderA/./7.jpg’ -> ‘/tmp/ToDelete/7.jpg’
removed ‘/home/Fischer/FolderA/./7.jpg’
/FolderB$ cd ~/FolderC
/FolderC$ find . -type f -exec cmp -s '{}' "$destdir/{}" \; -exec mv -v "$destdir/{}" "$ToDelete"/ \;
‘/home/Fischer/FolderA/./6.jpg’ -> ‘/tmp/ToDelete/6.jpg’
removed ‘/home/Fischer/FolderA/./6.jpg’
/FolderC$ ls /tmp/ToDelete/
6.jpg 7.jpg 8.jpg
/FolderC$ ls -l ~/FolderA
1.jpg 2.jpg
/FolderC$ C00L ;)
어떻게 작동하나요?
FolderB 또는 FolderC로 전환하고 실행하면명령 찾기, 따라서 그 안에 있는 모든 파일을 찾고 있습니다( .
현재 디렉토리 참조).cmp 명령(두 파일을 바이트 단위로 비교하는 데 사용됨) {}
FolderB/FolderC의 각 파일( )을 destdir
(FolderA( $destdir/{}
))의 파일과 비교합니다. 파일이 동일하면 해당 파일을(FolderA에서 임시 디렉터리로 /tmp/ToDelete
) 다음으로 이동합니다.mv 명령 -exec mv "$destdir/{}" "$ToDelete"/ \;
.
답변2
프로그램찾기이미지뒤집기당신이 요청한 것을 수행해야합니다 :
시각적으로 유사하거나 중복된 이미지를 찾습니다.
이 프로그램은 간단한 Perl 프로그램이며 명령줄에서 시작할 수 있지만 소프트웨어 패키지로도 사용할 수 있습니다.
답변3
fslint 프로그램을 사용할 수 있습니다
(다른 것들 중에서) 중복 항목을 검색합니다.
fslint는 소프트웨어 센터에서 다운로드할 수 있습니다. fslint에는 프로그램을 열 때 사용자 인터페이스가 있으며 첫 번째 탭은 duplicata를 찾는 것입니다. 폴더/폴더를 지정할 수 있습니다.
추가 정보 :사용자 설명서 fslint
답변4
많이있다중복 사진 찾기온라인으로 이용 가능한 유틸리티. 일부는 다른 것보다 낫고, 일부는 더 빠르고, 일부는 사용하기 쉽고, 대부분은 무료이며, 일부는 전체 기능을 잠금 해제하려면 비용을 지불해야 합니다.
최고의 중복 사진 찾기 문구로 Google 검색을 수행하여 사용 가능한 항목을 파악하고 필요에 맞는 항목을 찾으세요.