從資料夾中刪除圖片

從資料夾中刪除圖片

我想從資料夾中刪除所有照片並保留其餘文件。我在網上搜索,發現了很多解決方案,例如:

find . -type f -name "*.jpg" -delete

是的,所有照片都是 jpeg,但主要問題是照片的名稱不以擴展名“.jpg”結尾。

有人可以幫我嗎?

答案1

這應該要做

for i in *; do 
    TESTRESULT=$(file --mime-type -b "$i"); 
    if [ "$TESTRESULT" == "image/jpeg" ]; then 
        echo "$i"; 
    fi;
done

如果列印出所需的文件,則替換echo "$i"rm "$i"

答案2

好吧我找到了解決方案:

試試這個命令

find . -name "*.jpg" -delete

我在 Xubuntu 14.04 上嘗試過,效果很好。我希望這有幫助!

我知道這與您的示例類似,但您給出的示例對我不起作用。但這是一個更簡單的襯裡。

答案3

這是刪除所有圖像的腳本:

userX@ubuntu:~$ cat removeImages.sh 
#!/bin/bash
path=/home/userX/Downloads/*;
for file in $path
do
  fileInfo=`file "$file" |awk -F: '{print $2}'`
  if [[ $fileInfo =~ .*image.* ]]; then echo "Removing: " $file; rm $file; fi
done

您使用檔案file "$file"輸出的第二部分並在其中尋找image關鍵字,然後刪除循環中的目前檔案。

如果您還想刪除點陣圖:

userX@ubuntu:~$ cat removeImages.sh 
#!/bin/bash
path=/home/userX/Downloads/*;
for file in $path
do
  fileInfo=`file "$file" |awk -F: '{print $2}'`
  if [[ $fileInfo =~ .*image.*]] || [[$fileInfo =~ .*bitmap.* ]]; 
  then echo "Removing: " $file; rm $file; fi
done

相關內容