如何用脚本实现分割文件

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

#!/bin/bash

if [ $# -ne 2 ]; then

echo 'Usage: split file size(in bytes)'

exit

fi

file=$1

size=$2

if [ ! -f $file ]; then

echo "$file doesn't exist"

exit

fi

#TODO: test if $size is a valid integer

filesize=`/bin/ls -l $file awk '{print $5}'`

echo filesize: $filesize

let pieces=$filesize/$size

let remain=$filesize-$pieces*$size

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

echo "#!/bin/bash" merge

echo "i=0" merge

echo "while [ $i -lt $pieces ];" merge

echo "do" merge

echo " echo merge: $file.$i" merge

echo " if [ ! -f $file.$i ]; then" merge

echo " echo merge: $file.$i missed" merge

echo " rm -f $file.merged" merge

echo " exit" merge

echo " fi" merge

echo " dd if=$file.$i of=$file.merged bs=$size count=1 seek=$i" merge

echo " let i=$i+1" merge

echo "done" merge

chmod u+x merge'

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有