tree -f > README.md
README="./doc/README.md" # 写入文件json
function ergodic ()
{
# $1 表示函数的第一个参数
# ##*./ 表示从左边开始删除最后(最右边)一个 ./ 号及左边的全部字符
file_path=${1##*./} # 删除文件路径左边的全部字符
file="$path/$file_path" # 拼接路径
left_name=${1%'./'*} # 获取字符串./左边的内容
right_name=${1##*'/'} # 获取字符串/右边的内容
name="$left_name$right_name" # 拼接字符串
# 判断文件
if test -f $file
then
# 判断文件存在而且文件大小大于0
if [ -s $file ]
then
# 判断文件的后缀名
if [[ "${file##*.}" = "js" || "${file##*.}" = "jsx" ]]
then
# 读取文件第二行的内容
title=$(awk "NR==2" $file)
# ${title##''} 读取*(星号)后面的内容
# 判断title是否包含 *
if [[ $title =~ '*' ]]
then
echo "$name" "${title##''}" >> $README # 写入文件
else
echo "$name" "该文件没有头部注释或格式不对" >> $README # 写入文件
fi
# 样式
elif [ "${file##*.}" = "less" ]
then
echo "$name" '样式' >> $README # 写入文件
# 静态文件
elif [[ "${file##*.}" = "jpg" || "${file##*.}" = "png" ]]
then
echo "$name" '静态文件' >> $README # 写入文件
# json文件
elif [ "${file##*.}" = "json" ]
then
echo "$name" 'json文件' >> $README # 写入文件
else
echo "$name" >> $README # 写入文件
fi
# 文件为空时
else
echo "$name" '该文件为空,请及时查看' >> $README # 写入文件
fi
# 判断目录
elif test -d $file
then
echo "$name" >> $README # 写入文件
# 判断文件是否存在
elif [[ $file =~ 'directories' || $file =~ 'files' ]]
then
echo "$name" >> $README # 写入文件
else
# echo "$name" >> $README # 写入文件
echo "$name" '该文件不存在,请及时更新目录模版文件' >> $README # 写入文件
fi
}bash
function read_files () {
path="./src/routes" # 当前目录
template="$path/README.md" # 目录模版
echo '' > $README # 清空文件
# while 读取文件每一行的内容
while read line
do
ergodic "$line" # 函数调用
done < $template
}
read_files
目录模版

生成的效果图
less