刪除重複影像

刪除重複影像

我的原始圖像是img.jpg。

如何刪除重複的圖片 img.jpg1、img.jpg2、img.jpg3。我想保留擴展名為 .jpg 的圖像。

謝謝

答案1

圖形化解決方案

  1. ctrl在 nautilus 中,使用+開啟選擇對話框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])

這裡我們使用了一些 shell 選項:

  • extglob將使我們能夠匹配擴展的全局模式,例如+(?)匹配任何字元的一次或多次出現。預設情況下,應在互動式 shell 中啟用此功能。

  • nullglob如果未找到匹配項,將導致空字串

  • globstar將使我們能夠使用遞歸搜索**

相關內容