123456有若干个文件夹 把所有文件夹里的.md结尾的文件里的permalink: * 替换为permalink: *.htmlfind /path/to/your/directories -type f -name "*.md" -exec sed -i '' 's/permalink: \([^ ]*\)/permalink: \1.html/g' {} \;//例子 md文件中的,permalink: 旅行-模版替换为了permalink: 旅行-模版.html,代码如下find /Users/wz/Documents/Obsidian/ruiLearningCode/source/_posts -type f -name "*.md" -exec sed -i '' 's/permalink: \([^ ]*\)/permalink: \1.html/g' {} \; 1234567891011121314151617181920212223242526# 进入_post目录cd source/_post# 修改文章内容,添加permalinkfor file in `ls`; do link=`echo $file|sed -n 's/\.md//p'`; sed -i "" "/title.*/ a\ permalink: $link" $file; done;# 修改文章的创建时间为Front-matter中的时间for file in `find . -type f`; do d=`head $file|sed -n 's/^date: //p' |sed -n 's/[- :]//pg' |sed -n 's/\([0-9]\{2\}\)$/\.\1/p'`; touch -t $d $file; done;# 创建一个2018年1月1日的文件,用于过滤出2018年的文章touch -t 201801010000 timestamp# 创建2018文件夹mkdir 2018# 将2018年的文章移到2018文件夹下for file in `find . -type f -newer timestamp`; do mv $file 2018 ; done# 将timestamp创建时间修改为2017年1月1日,然后参考2018年文章归类方法,这里略# 完成归类之后删除刚才创建的用于过滤的文件rm timestamp# 最后如果想再恢复文章的创建时间,再执行第三步命令for file in `find . -type f`; do d=`head $file|sed -n 's/^date: //p' |sed -n 's/[- :]//pg' |sed -n 's/\([0-9]\{2\}\)$/\.\1/p'`; touch -t $d $file ; done;