我有一个工作脚本,可以为文件夹中的所有 pdf 文件生成缩略图(使用 Image Magic):
for f in *.pdf; do convert -thumbnail 250x200 "$f"[0]"_thumb_wd_${f%.pdf}.jpg"; done
我该如何调整它来检查“_thumb_wd_+”f“+.jpg”是否存在?所以只有当它不存在时我才能生成缩略图!
答案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