Script para gerar polegares apenas se o polegar não existir

0

Eu tenho um script de trabalho para gerar polegares para todos os arquivos pdf em uma pasta (usando o Image Magic):

for f in *.pdf; do convert -thumbnail 250x200 "$f"[0]"_thumb_wd_${f%.pdf}.jpg"; done

Como eu posso ajustar isso para verificar se o "_thumb_wd _ +" f "+. jpg existe? Então eu posso gerar os polegares apenas se ele não existir!

    
por Lcross Portugal 05.05.2015 / 21:33

1 resposta

3

Você pode usar a construção condicional if para executar uma ação dependendo de alguma condição, por exemplo, se algo existe ou não. No seu caso, você precisa colocar o segmento de ação dentro da condição if-then :

  if ! [[ -f "_thumb_wd_${f%.pdf}.jpg" ]]; then
    convert -thumbnail 250x200 "$f"[0]"_thumb_wd_${f%.pdf}.jpg"
  fi

[[ é uma palavra-chave bash , estamos usando para verificar ( -f ) se o arquivo _thumb_wd_${f%.pdf}.jpg existe e é um arquivo regular. O ! nega a operação, como resultado convert só será executado se o arquivo não existir.

Então, seu script final:

#!/bin/bash
for f in *.pdf; do
  if ! [[ -f "_thumb_wd_${f%.pdf}.jpg" ]]; then
    convert -thumbnail 250x200 "$f"[0]"_thumb_wd_${f%.pdf}.jpg"
  fi
done
    
por heemayl 05.05.2015 / 21:53