Сценарий для генерации ползунков, только если ползунок не существует

У меня есть рабочий сценарий для генерации ползунков во все файлы PDF в папке (использующий Волшебство Изображения):

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

Как я могу скорректировать это, чтобы проверить, существует ли "_thumb_wd _ + "f" + .jpg? Таким образом, я могу генерировать ползунки, только если это не делает существует!

0
задан 5 May 2015 в 23:15

1 ответ

Можно использовать if условная конструкция для выполнения действия в зависимости от некоторого условия, например, если что-то существует или нет. В Вашем случае необходимо поместить сегмент действия в if-then условие:

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

[[ bash ключевое слово, мы используем его для проверки (-f), если файл _thumb_wd_${f%.pdf}.jpg существует и является регулярным файлом. Эти ! инвертирует операцию, в результате convert будет только работать, если файл не будет существовать.

Так, Ваш заключительный сценарий:

#!/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
3
ответ дан 2 August 2019 в 19:36

Другие вопросы по тегам:

Похожие вопросы: