2012-04-25 12 views
9

申し訳ありません。私は高値と低値を検索し、バッチ処理の方法を試しましたpandoc。私は私の人生はそれを動作させることはできません。バッチ処理のパンデック変換

htmlファイルを含むフォルダとネストされたフォルダをマークダウンに変換するにはどうすればよいですか?

私はOSを使っていることを言及すべきであるX 10.6.8

あなたは findを使用してディレクトリツリー内のファイル間で任意のコマンドを適用することができます

答えて

19

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

を持つすべてのファイルにpandocを実行しますa .md接尾辞、.md.txt接尾辞を持つファイルを作成します。 (.mdのない接尾辞.txtを取得する場合は、ラッパースクリプトが必要です。または、サブシェル呼び出しで醜いことが起こる場合)-execから\;までの任意の単語の{}は、ファイル名に置き換えられます。

+0

多くの感謝。 '\ *。md'と' .txt'を異なる拡張子で置き換えて、目的のファイルを変換できると仮定します。すなわち '\ *。html'と' .md'ですか? – rev

+0

はい、そういうわけで私は何が起こっているのかを詳しく知っているので、必要なことをするためにどの部分を変更するのがより簡単に分かります。 – geekosaur

+0

私は次のことをよく理解していません: '' {} 'は '-exec'から終了する' \; 'までのすべての単語においてファイル名で置き換えられます。 – rev

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