好吧,在我决定发布此内容之前,我已经尝试了此处提供的与我的问题相关的所有解决方案。我知道这很简单,但这是我第一次处理 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 {}
将{}
frombash
返回到bash -c
as$1
并让您从那里开始玩它。