我想使用 pdftotext 在不使用循环的情况下使用make将文件夹中的所有.pdf文件转换为.txt文件。新的.txt文件应保留原始文件名。此外,新文件将获得新的文件扩展名。
示例: test1.pdf-> test2.newextension
一切都写在Makefile文件中。我通过在控制台中输入“使已转换”开始转换。
我的第一次(悲惨)尝试是:
converted:
@ls *.pdf | -n1 pdftotext
但是,它仍然缺少3件事:
我以前用bash编程,而Makefile对我来说是全新的。我会很感激的答案!
答案 0 :(得分:1)
您可以参考以下简单示例:
SOURCES ?= $(wildcard *.pdf)
%.txt: %.pdf
pdftotext $< $@
all: $(SOURCES:%.pdf=%.txt)
clean:
rm -f *.txt
如果未定义SOURCE
,它将尝试从本地目录中获取所有*.pdf
文件。
然后,我们定义一个pattern rule的教学方法,以介绍如何从*.txt
中制作*.pdf
。
我们还定义了目标all
,该目标试图在.pdf
变量中创建txt文件for each SOURCES
文件。
还有一条clean
规则,它会悄悄删除当前目录中的所有.txt
文件(因此请小心,可能有危险)。