|
|

楼主 |
发表于 2007-6-29 00:18:06
|
显示全部楼层
提供一个自动计算分片md5sum的脚本,供大家参考和修改:
[HTML]
#!/bin/bash
#
# Script Name: slices_md5sum.sh
# Script Version: 0.0.1
# Date: 2007-06-28
# Author: cnux AT bbs of linuxsir.cn
# Description: Bash script for making slices_md5sum for a large file.
# Revision History:
# 0.0.1/<date>: original version
# Usage: slices_md5sum.sh filename base_Bytes
# base_Bytes is the length of slice, K=*1024, M=*1024*1024
# e.g: slices_md5sum.sh livecd.iso 1024
# slices_md5sum.sh livecd.iso 50M
function usage(){
cat <<EOF
Usage: slices_md5sum.sh filename base_Bytes
base_Bytes is the length of slice,
K=*1024, M=*1024*1024.
e.g: slices_md5sum.sh livecd.iso 1024
slices_md5sum.sh livecd.iso 50M
EOF
exit 1
}
[ $# -eq 2 ] || usage
[ -f "$1" ] && filename=$1 || usage
bs=$2
case ${bs//[0-9]} in
K)let bs=${bs//K/*1024};;
M)let bs=${bs//M/*1024*1024};;
""):;;
*)usage
esac
filelength=`ls -l $1 | awk '{print $5}'`
let filelength=$bs+$filelength
for ((k=0,i=$bs;i<=$filelength; i+=$bs,k++)); do
dd if=$filename bs=$bs count=1 skip=$k 2>/dev/null | md5sum | \
sed "s/-/$filename.$i/"
done
[/HTML] |
|