slitaz-forge view mirror/floppies/mkmdsum.sh @ rev 717

mirror/floppies: add mkmdsum.sh
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Aug 20 11:39:45 2021 +0000 (2021-08-20)
parents
children
line source
1 #!/bin/sh
3 case "$1" in
5 set)
6 shift
7 for dir in $@; do
8 for i in $dir/*0 ; do
9 echo $i
10 sh $0 md5sum $dir $(basename $i) | tee $i/md5sum
11 done
12 done ;;
14 md5sum)
15 n=1; ofs=0; dir=${2:-4.0}; size=${3:-1474560}
16 SETS="$(sed '/sets =/!d;s|.*\[||;s|\].*||;s|,| |g' index-$dir.html)"
18 for max in $SETS; do :; done
19 [ ! -s $dir/fd.img ] && cat $dir/fd???.img > $dir/fd.img && dd size=0 bs=1 seek=$max 2>/dev/null
20 for max in $SETS; do
21 while true; do
22 [ $(stat -c %s $dir/fd.img) -gt $ofs ] || break 2
23 dd if=$dir/fd.img bs=512 skip=$(($ofs/512)) count=$(($size/512)) \
24 2>/dev/null | md5sum | sed "s|-$|fd$(printf "%03d" $n).img|"
25 ofs=$(($ofs+$size)); n=$(($n+1))
26 [ $ofs -ge $max ] && n=$(($n-($n%100)+100)) && break
27 done
28 done ;;
30 *) cat <<EOT
31 Usage:
33 $0 md5sum directory [floppy bytes]
34 display the md5sum file
36 $0 set directory...
37 create every directory/*/md5sum file
38 EOT
39 esac