Удалите дублирующиеся изображения

У меня есть исходное изображение, img.jpg.

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

Спасибо

2
задан 18 November 2015 в 08:44

3 ответа

Объединитесь 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
2
ответ дан 2 December 2019 в 01:30

Решение

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

enter image description here enter image description here

  1. Инвертирование выбор с помощью ctrl + сдвиг + я для выбора тех без .jpg расширения (который является тем, что Вы хотите).

enter image description here

  1. Щелчок правой кнопкой и выбирает Move to trash или просто нажимает , удаляют ключ.
    Отсюда можно также сделать что-либо еще, что Вы хотите - сжатие, сокращаете, и т.д.
5
ответ дан 2 December 2019 в 01:30

Используя 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 позволит нам соответствовать расширенным шаблонам шарика, например, +(?) будет соответствовать одним или нескольким случаям любого символа. Это должно быть включено в интерактивной оболочке по умолчанию.

  • nullglob приведет к пустой строке, если никакое соответствие не будет найдено

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

2
ответ дан 2 December 2019 в 01:30

Другие вопросы по тегам:

Похожие вопросы: