bash - 检查字符串变量是否等于换页

时间:2014-07-21 04:02:14

标签: bash pdftotext

我是bash的新手,所以这很可能只是回答,但我的研究还没有给我一个解决方案。我正在尝试编写一个简单的bash脚本来检查pdf是否需要OCR' d。它使用随Xpdf分发的pdftotext可执行文件。如果pdftotext没有输出任何文字,则PDF需要为OCR' d。问题是,如果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' d。如果我在Python中运行此测试并使用repr(),我会得到\x0c,即表单Feed的字符代码。但是bash中的echo $pdf_txt只打印空白行。

思考?建议?

1 个答案:

答案 0 :(得分:3)

"\f"

不符合您的想法。使用ANSI-C Quoting

$'\f'

此外,

pdf_txt="$(pdftotext -q -l 5 '/Path/to/pdf/test.pdf' -)"