使用 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做什么?