remover fotos da pasta

remover fotos da pasta

Quero remover todas as fotos de uma pasta e manter os arquivos restantes. Pesquisei na web e encontrei várias soluções como:

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

Todas as fotos são jpeg, sim, mas o principal problema é que os nomes das fotos não terminam com a extensão ".jpg".

Alguém pode ajudar-me?

Responder1

isso deveria fazer

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

Se isso imprimir os arquivos desejados, substitua echo "$i"porrm "$i"

Responder2

Ok, encontrei uma solução:

Experimente este comando

find . -name "*.jpg" -delete

Eu tentei isso no Xubuntu 14.04 e funcionou bem. Eu espero que isso ajude!

Eu sei que isso é semelhante ao seu exemplo, mas o exemplo que você deu não funcionou para mim. Mas este é um forro mais simples.

Responder3

Aqui está um script para remover todas as imagens:

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

Você usa a segunda parte da file "$file"saída do arquivo e procura imagea palavra-chave nela e, em seguida, remove o arquivo atual no loop.

Se você também deseja remover bitmaps:

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

informação relacionada