使用 pandoc 将 epub/pdf(和其他文本文件)的目录转换为 .txt
Convert directory of epub/pdf (and other text files) to .txt using pandoc
这是我的进展:
ls | while read x; do echo "pandoc '$x' -o $x" | sed 's/\.[^.]*$//' | sed 's/$/.txt/' | sed 's/$/ --wrap=preserve/' ; done
它的作用是打印出您必须 运行 为每个文件使用 pandoc 将文件转换为 TXT 的命令。
问题是,如果您将 echo
替换为 eval
,则它不起作用。我假设是因为您在 运行 之后修改命令......不知何故?但它仍然可以正常打印吗?
我用 运行 和 eval
得到的结果只是复制 EPUB 文件,而不是转换它们,这解释了我的假设。
所以我的问题是,我怎样才能 运行 每个命令,因为它实际上是这样打印的:
pandoc 'Complicity - Iain Banks.epub' -o Complicity - Iain Banks.txt --wrap=preserve
应该这样做:
for f in *; do
pandoc "$f" -o "${f%.*}.txt" --wrap=preserve
done
你需要ls
/eval
做什么?
这是我的进展:
ls | while read x; do echo "pandoc '$x' -o $x" | sed 's/\.[^.]*$//' | sed 's/$/.txt/' | sed 's/$/ --wrap=preserve/' ; done
它的作用是打印出您必须 运行 为每个文件使用 pandoc 将文件转换为 TXT 的命令。
问题是,如果您将 echo
替换为 eval
,则它不起作用。我假设是因为您在 运行 之后修改命令......不知何故?但它仍然可以正常打印吗?
我用 运行 和 eval
得到的结果只是复制 EPUB 文件,而不是转换它们,这解释了我的假设。
所以我的问题是,我怎样才能 运行 每个命令,因为它实际上是这样打印的:
pandoc 'Complicity - Iain Banks.epub' -o Complicity - Iain Banks.txt --wrap=preserve
应该这样做:
for f in *; do
pandoc "$f" -o "${f%.*}.txt" --wrap=preserve
done
你需要ls
/eval
做什么?