rimuove le foto dalla cartella

2

Voglio rimuovere tutte le foto da una cartella e conservare i file rimanenti. Ho cercato nel web e ho trovato un sacco di soluzioni come:

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

Tutte le foto sono jpeg, sì, ma il problema principale è che i nomi delle foto non terminano con la loro estensione ".jpg".

Qualcuno potrebbe aiutarmi?

    
posta tito 14.06.2015 - 01:54

3 risposte

3

questo dovrebbe fare

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

Se quello stampa i file desiderati, sostituisci echo "$i" con rm "$i"

    
risposta data czapa.ols 14.06.2015 - 03:04
1

Ecco uno script per rimuovere tutte le immagini:

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

Utilizzi la seconda parte del file file "$file" di output e cerchi la parola chiave image al suo interno, quindi rimuovi il file corrente nel ciclo.

Se vuoi rimuovere anche le bitmap:

[email protected]:~$ cat removeImages.sh 
#!/bin/bash
path=/home/userX/Downloads/*;
for file in $path
do
  fileInfo='file "$file" |awk -F: '{print }''
  if [[ $fileInfo =~ .*image.*]] || [[$fileInfo =~ .*bitmap.* ]]; 
  then echo "Removing: " $file; rm $file; fi
done
    
risposta data Armen 14.06.2015 - 03:19
1

Okay, ho trovato una soluzione:

Prova questo comando

find . -name "*.jpg" -delete

Ho provato questo su Xubuntu 14.04 e ha funzionato bene. Spero che questo aiuti!

So che questo è simile al tuo esempio, ma l'esempio che hai dato non ha funzionato per me. Ma questo è più semplice.

    
risposta data Eyovin 14.06.2015 - 03:06

Leggi altre domande sui tag