ネイティブスクリプトを使用して、(およびそれ以下の)すべての.markdown
ファイル~/notes/
をhtmlに変換しようとしています。Markdown.pl --html4tags
ただし、Markdown.pl
htmlをstoutに出力します。つまり、に変換するtest.markdown
にtest.html
は、次を実行する必要がありますMarkdown.pl --html4tags test.markdown > test.html
。
find -exec
パイピングを再帰またはfind ... | xargs
関数に組み込む方法を理解するのに行き詰まっています。私が思いついた最高のものは次のとおりです。
for i in `find ~/notes/ -type f -name "*.markdown"` ; do
Markdown.pl --html4tags $i > ${i}.html ;
done
すべてのファイルをhtmlに正常に変換し.markdown
ますが、もちろん、のtest.markdown.html
代わりにのように見えtest.html
ます。
${i}.markdown
つまり、基本的には、に変換するようなことをする必要がありますが${i}.html
、それを関数でエンコードする方法がわかりません。助けてくれてありがとう。
編集:(basename
私が発見したばかりの)を使用して、上記のスクリプトを修正する方法を見つけました:
for i in `find ~/notes/ -type f -name "*.markdown"` ; do
Markdown.pl --html4tags $i > `basename $i .markdown`.html ;
done
これは基本的にすべての.markdown
ファイルをhtmlに変換すると同時に、拡張子を削除してから拡張子.markdown
を追加し.html
ます。
これを行うためのより良い方法があるかどうかを知りたいと思います。たとえば、を使用しfind -exec
ます。