linux下递归计算当前文件夹所有文件MD5值shell脚本

以前写的一个脚本,觉得还会用着便贴了出来

#!/bin/bash 
# program:
# Calculate the current folder all the files MD5 value.
# History:
# 2016/10/28 Shang Yexin First release
function ergodic(){ 
    for file in ` ls -a $1 ` 
    do 
        if [ $file == . ] || [ $file == .. ]
        then 
            continue
        fi
        if [ -d $1 / $file ] 
        then 
            ergodic $1 / $file 
        else 
            md5sum $1 / $file | sed s#$INIT_PATH/## >> $RECORDFILE
        fi 
    done 
}
#设置输出文件名
RECORDFILE=check.md5
#如果存在先删除,防止重复运行脚本时追加到记录文件
test -e $RECORDFILE && rm $RECORDFILE
#获取当前目录
INIT_PATH=`pwd`
#遍历所有文件
ergodic $INIT_PATH
#删除不需要的隐藏文件
sed -i / \./d $RECORDFILE
#按文件名称排序
sort t -k 2 $RECORDFILE -o $RECORDFILE

猜你喜欢

转载自blog.csdn.net/shangyexin/article/details/80968169