#!/bin/zsh for filename (*Zsh-开发指南(第*md) { local title=${${${filename#*(}%)*}//-/ } echo "## [$title]("$filename")" for i (${(f)"$(grep "^###" $filename)"}) { local level=${i%% *} local subtitle=${i#$level } [[ $level == "####" ]] && level="- " echo "$level [$subtitle]("$filename"#${${${(L)subtitle// /-}//、}//:})" } echo "\n---\n" }