#!/bin/bash
###################################################
#Program: split
#Discription: split big file
#History: 2012/07/19 redkey
###################################################
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
if [ $# -ne 2 ];then
echo 'usage:split file size(in bytes) e.g:“./split text.avi 2000”'
exit
fi
file=$1
size=$2
if [ ! -f $file ];then
echo "$file doesn't exit"
exit
fi
#TODO:test if $size is a valid integer
filesize=`ls -l $file | awk '{print $5}'`
echo filesize:$filesize
let pieces=filesize/size
let remain=filesize-size*pieces
if [ $remain -gt 0 ];then
let pieces=$pieces+1
fi
echo pieces:$pieces
i=0
while [ $i -lt $pieces ];
do
echo split:$file.$i;
dd if=$file of=$file.$i bs=$size count=1 skip=$i
let i=i+1
done
转载于:https://blog.51cto.com/redkey/935353