#!/bin/ksh -p # Splits large file into 1.44Mb floppy size chunks... # Usage: floppysplit [-d] filename # ** floppysplit filename.extn => split files into unix # filename format. # i.e. filename.extn => filename.extn.xaa, # filename.extn.xab, # filename.extn.xac, etc. # # To "reconnect" the files under UNIX, use cat: # cat filename.extn.1 filename.extn.2 etc. > filename.extn # # ** floppysplit -d filename.ext = split files into MSDOS # filename format. # # * N.B. floppysplit assumes that the filename.ext is already in # DOS filename format!!! # # i.e. filename.ext => filename.xaa # filename.xab, # filename.xac, etc. # # To "reconnect" the files under DOS, use copy /b: # COPY /B FILENAME.EX1+FILENAME.EX2+etc. FILENAME.EXT filename=$1 dos=0 if [[ $filename == "-d" ]] ; then dos=1 ; filename=$2 fi if [[ $filename == "" ]] ; then echo "Usage: floppysplit [-d] filename" ; echo " Read this shellscript ( $0 ) " echo " for more information..." exit 1 ; fi split -b 1423k $filename if (( dos == 1 )) ; then dot=$(echo "$filename" | grep -c "\.") if (( dot == 0 )) ; then filename=$filename.x fi fi filnam=$( echo $filename | sed 's/\..*$//' ) # Filename truncated to first '.' i.e. file.foo.bar.nil -> file for j in a b c d e f g h i j k l m n o p q r s t u v w x y z ; do for i in a b c d e f g h i j k l m n o p q r s t u v w x y z ; do if [ -e x$j$i ] ; then if (( dos == 1 )) ; then mv x$j$i ${filnam}.x$j$i ; else mv x$j$i ${filename}.x$j$i ; fi ; else exit $? fi ; done ; done ;