remove as imagens da pasta

2

Desejo remover todas as fotos de uma pasta e manter os arquivos restantes. Pesquisei na web e encontrei uma tonelada de 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 poderia me ajudar?

    
por tito 14.06.2015 / 01:54

3 respostas

3

isso deve ser feito

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" por rm "$i"

    
por czapa.ols 14.06.2015 / 03:04
1

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 }''
  if [[ $fileInfo =~ .*image.* ]]; then echo "Removing: " $file; rm $file; fi
done

Você usa a segunda parte do arquivo file "$file" output e procura a palavra-chave image e, em seguida, remove o arquivo atual no loop.

Se você também quiser remover bitmaps:

userX@ubuntu:~$ 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
    
por Armen 14.06.2015 / 03:19
1

Ok, encontrei uma solução:

Tente este comando

find . -name "*.jpg" -delete

Eu tentei isso no Xubuntu 14.04 e funcionou bem. 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.

    
por Eyovin 14.06.2015 / 03:06