#!/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.1, # filename.extn.2, # filename.extn.3, 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.ex1 # filename.ex2, # filename.ex3, 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/.$//' ) count=0 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 xa$i ] ; then count=$((count+1)) if (( count > 9 )) ; then filnam=$( echo $filnam | sed 's/.$//' ) ; fi ; if (( dos == 1 )) ; then mv xa$i $filnam$count ; else mv xa$i $filename.$count ; fi ; fi ; done ;