중복된 이미지 제거

중복된 이미지 제거

원본 이미지는 img.jpg입니다.

img.jpg1, img.jpg2, img.jpg3과 같은 중복 이미지를 제거하려면 어떻게 해야 합니까? .jpg 확장자를 가진 이미지를 유지하고 싶습니다.

감사해요

답변1

GUI 솔루션

  1. ctrl노틸러스에서 +를 사용하여 선택 대화 상자를 엽니다 .S
  2. *.jpg.jpg 확장자를 가진 모든 이미지를 선택하려면 입력하세요.

여기에 이미지 설명을 입력하세요 여기에 이미지 설명을 입력하세요

  1. .jpg 확장자(원하는 확장자)가 없는 항목을 선택하려면 ctrl+ shift+를 사용하여 선택 항목을 반전하세요 .i

여기에 이미지 설명을 입력하세요

  1. 마우스 오른쪽 버튼을 클릭하고 선택 Move to trash하거나 키를 누르십시오 delete.
    여기에서 압축, 자르기 등 원하는 다른 작업도 수행할 수 있습니다.

답변2

명령을 및 플래그 find와 결합합니다 . 이 특정 예에서는 모든 복제 이미지를 가져와 휴지통으로 옮기므로 원하는 경우 여전히 이미지를 복구할 수 있습니다. 나중에 명령을 사용하거나 GUI를 통해 휴지통을 정리할 수 있습니다.-regex-exec-execrm

testerdir:$ ls
img.jpg  img.jpg1  img.jpg2  img.jpg3

testerdir:$ find  . -regex ".*\.jpg[1-9]+" -print -exec mv -t $HOME/.local/share/Trash/ {} +                                 
./img.jpg1
./img.jpg3
./img.jpg2

testerdir:$ ls $HOME/.local/share/Trash                                                                                   
expunged/  files/  img.jpg1  img.jpg2  img.jpg3  info/

testerdir:$ ls
img.jpg

답변3

bash비재귀적으로 사용 :

shopt -s extglob nullglob
rm img.jpg+(?)

끝에 숫자만 있는 경우:

rm img.jpg+([0-9])

재귀적으로:

shopt -s globstar extglob nullglob
rm **/img.jpg+(?)

끝에 숫자만 있는 경우:

rm **/img.jpg+([0-9])

여기서는 몇 가지 셸 옵션을 사용했습니다.

  • extglob확장된 glob 패턴을 일치시킬 수 있습니다. 예를 들어 +(?)하나 이상의 문자 발생과 일치합니다. 이는 기본적으로 대화형 셸에서 활성화되어야 합니다.

  • nullglob일치하는 항목이 없으면 null 문자열이 반환됩니다.

  • globstar다음을 사용하여 재귀적으로 검색할 수 있습니다.**

관련 정보