shell递归生成文件的MD5文件
#! /bin/bash if [ -n "$1" ]; then DIR_ROOT="$1" else DIR_ROOT="." fi end_with(){ echo $1 | grep $2 >/dev/null 2>&1 if [ $? -eq 0 ];then return 1 fi return 0 } dir_md5(){ if [ "$(ls -A $1)" ]; then for file in $1/* do if [ -d $file ]; then dir_md5 $file else if end_with "$file" "md5\.sh$"; then if end_with "$file" "md5_d\.sh$"; then md5sum $file > $file.md5 fi fi fi done fi } sh +x md5_d.sh $DIR_ROOT dir_md5 $DIR_ROOT
shell递归删除生成的MD5文件
#! /bin/bash if [ -n "$1" ]; then DIR_ROOT="$1" else DIR_ROOT="." fi dir_md5(){ for file in $1/* do if [ -d $file ]; then dir_md5 $file else #左边最长匹配模式 if [ ${file##*.} = "md5" ]; then rm -f $file fi fi done } dir_md5 $DIR_ROOT