Удалить дубликаты изображений

Удалить дубликаты изображений

У меня есть оригинальное изображение img.jpg.

Как удалить дубликаты изображений img.jpg1, img.jpg2, img.jpg3. Я хочу сохранить изображение с расширением .jpg.

Спасибо

решение1

Решение с графическим интерфейсом

  1. В Nautilus откройте диалоговое окно выбора с помощью ctrl+S
  2. Введите *.jpg, чтобы выбрать все изображения с расширением .jpg

введите описание изображения здесь введите описание изображения здесь

  1. Инвертируйте выделение с помощью клавиш ctrl+ shift+ i, чтобы выбрать те, которые не имеют расширения .jpg (а это то, что вам нужно).

введите описание изображения здесь

  1. Щелкните правой кнопкой мыши и выберите Move to trashили просто нажмите deleteклавишу.
    Отсюда вы также можете сделать все, что захотите - сжать, вырезать и т. д.

решение2

Объедините findкоманду с флагами -regexи -exec. В этом конкретном примере -execпросто берет все дублированные изображения и перемещает их в корзину, так что вы все еще можете восстановить любое из них, если вы этого захотите. Вы можете позже использовать rmкоманду или очистить корзину через GUI

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приведет к пустой строке, если совпадений не найдено

  • globstarпозволит нам выполнять рекурсивный поиск, используя**

Связанный контент