2012-04-25 66 views
9

对不起或很厚。我搜索了高低,试图找出如何批量处理pandoc。我不能为了我的生活而努力。批量处理pandoc转换

如何将包含html文件的文件夹和嵌套文件夹转换为markdown?

我要指出,我使用的是OS X 10.6.8

回答

19

您可以在整个文件中使用find施加任何命令在目录树:

find . -name \*.md -type f -exec pandoc -o {}.txt {} \; 

将运行上的所有文件pandoc与后缀为.md,创建一个后缀为.md.txt的文件。 (如果你想得到.txt后缀而不是.md,或者使用子shell调用做丑陋的事情,你将需要一个包装脚本。){}-exec到终止\;的任何字将被替换为文件名。

+0

千恩万谢。我假设我可以用不同的扩展名替换'\ *。md'和'.txt'来转换所需的文件。即'\ *。html'和'.md'? – rev 2012-04-25 21:06:15

+0

是的,这就是我详细说明发生了什么的原因,所以您可以更轻松地看到要更改哪些部分以满足您的需求。 – geekosaur 2012-04-25 21:12:51

+0

我不完全理解以下内容:“从任何单词'{}'从'-exec'到终止'\;'都将被替换为文件名。” – rev 2012-04-25 21:35:33

0

我做了一个bash脚本,不会递归地工作,也许你可以使其适应你的需求:

#!/bin/bash  
newFileSuffix=md # we will make all files into .md 

for file in $(ls ~/Sites/filesToMd); 
do 
    filename=${file%.html} # remove suffix 
    newname=$filename.$newFileSuffix # make the new filename 
# echo "$newname" # uncomment this line to test for your directory, before you break things 
    pandoc ~/Sites/filesToMd/$file -o $newname # perform pandoc operation on the file, 
                # --output to newname 


done 
# pandoc Catharsis.html -o test