まあ、私はこの記事を投稿することにしました前に、私の問題に関してここに提供されているすべてのソリューションを試しました。私はこれが簡単であることを知っていますが、Bashを扱うのは今回が初めてです。ですのでご了承ください。
このスクリプトがあります
FILES=*.html
for f in $FILES
do
# extension="${f##*.}"
filename="${f%.*}"
echo "Converting $f to $filename.md"
`pandoc $f -t markdown -o $filename.md`
rm $f
done
このスクリプトは、Htmlファイルでいっぱいのディレクトリを同等のMarkdownファイルに変換するために作成されました。変換にPandocを使用します。
問題は、このスクリプトが同じフォルダ内のファイルのみを変換することです。次のようにサブフォルダ内のすべてのファイルを変換したいと思います。
Folder1/Folder2/folder3/index.html
どのようにできるかについてのアイデアはありますか?
ベストアンサー1
ほぼ同じコードを使用しますが、完全なパスを取得してfind
スペースを書き留めます。
find ./path/to/start/from -iname "*.htm*" -exec bash -c 'fn=${1%.*}; sn=${fn##*/};
echo "Converting $1 to $sn.md";
pandoc "$1" -t markdown -o "$fn.md" && rm "$1"
' bash {} \;
構造find .....-exec
sh -c `some code here` sh {}
as{}
から戻ってそこから再生できます。bash
bash -c
$1