Chinaunix首页 | 论坛 | 博客
  • 博客访问: 470014
  • 博文数量: 711
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 4200
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 14:18
文章分类

全部博文(711)

文章存档

2011年(1)

2008年(710)

我的朋友

分类:

2008-10-29 11:54:42


  #!/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'
【责编:admin】

--------------------next---------------------

阅读(252) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~