file splitter and merger??

Dave Ihnat dihnat at dminet.com
Thu Nov 29 02:06:04 UTC 2007


On Thu, Nov 29, 2007 at 10:35:32AM +1100, Lux Zhang wrote:
> what are tools to split a large file (etc 700mb a.avi) into small
> pieces and then the merger to merge them?

People have suggested 'split' and 'cat'.  These are at best marginal, at
worst simply won't work for binary files.

Look for a script called 'bsplit'.  If you can't find a distributed version,
something like the attached will work.

Cheers,
--
	Dave Ihnat
	President, DMINET Consulting, Inc.
	dihnat at dminet.com
-------------- next part --------------
#
# bsplit [n] name
#
# Breaks a file into N-block parts, where a block is 512 bytes
#
# Author: Dave Ihnat.  Released as a work in the Public Domain.

BCOUNT=0
FCOUNT=0
BSKIP=0

if [ $# -eq 2 ]
then
	BCOUNT=$1;
	shift;
else
	BCOUNT=100;
fi;

OUTFILE=$1;
PREFIX=00

while [ TRUE ]
do
	echo "$OUTFILE.${PREFIX}${FCOUNT}"

#	dd of=$OUTFILE.${PREFIX}${FCOUNT} skip=$BSKIP count=$BCOUNT
	dd of=$OUTFILE.${PREFIX}${FCOUNT} count=$BCOUNT

	if [ $? -ne 0 ]
	then
		break;
	fi;

	if [ ! -s $OUTFILE.${PREFIX}${FCOUNT} ]
	then
		rm $OUTFILE.${PREFIX}${FCOUNT}
		break;
	fi;

	FCOUNT=`expr $FCOUNT + 1`
	if [ "$FCOUNT" -gt 99 ]
	then
		PREFIX=""
	elif [ "$FCOUNT" -gt 9 ]
	then
		PREFIX="0"
	fi;

	BSKIP=`expr $BSKIP + $BCOUNT`
done

exit 0


More information about the fedora-list mailing list