我是bash的新手,所以这可能是简单的答案,但是我的研究还没有给我一个解决方案。我试图写一个简单的bash脚本,检查pdf是否需要被OCR。它使用随Xpdf分发的pdftotext
可执行文件。如果pdftotext
不输出任何文本,则需要对PDF进行OCR。问题是,如果PDF没有被OCR, pdftotext
返回一个表单提要字符(不仅仅是一个空字符串)。尽我所能,我无法让bash比较从pdftotext
返回的字符串与表单提要。
下面是我的代码:
pdf_txt=$(pdftotext -q -l 5 '/Path/to/pdf/test.pdf' -)
if [ "$pdf_txt" = "f" ]
then
echo 'needs ocr'
else
echo "doesn't need ocr"
fi
现在,test.pdf
还没有被OCR。如果我在Python中运行这个测试并使用repr()
,我将得到x0c
,即表单提要的字符代码。但是在bash中echo
和$pdf_txt
只打印空行。
想法吗?建议吗?
This
"f"
并不像你想象的那样。使用ANSI-C引号:
$'f'
,
pdf_txt="$(pdftotext -q -l 5 '/Path/to/pdf/test.pdf' -)"