[脚本]spliting file

上一篇 / 下一篇  2006-10-17 19:40:44 / 天气: 晴朗 / 心情: 高兴

    在整理一台老机的文件系统时,发现一个2G的日志文件,这已经接近文件系统所能管理的最大文件的规模。然而突发异想,为什么不把这个文件按照相同记录数量等分为多个小文件,然后再拿来玩儿呢?

  

#!/bin/sh
#
#Author :wolfgang
#

#This script attends to splite a record file which is larger than 2 getabyts into many smaller files which contain certain records of the
#orignal file
#

FILENAME=$1
RECORD=$2
LINE=`wc -l $1|awk {'print $1'}`
let COUNT=$LINE/$RECORD
Num=0
START_LINE=1
ED=0
END_LINE=$2

while [ $Num -le $COUNT ];  
do
   echo "Start line =$START_LINE"
   echo "END line =$END_LINE"
   sed -n ''$START_LINE','$END_LINE' w '$FILENAME.$Num' ' $FILENAME
   cat $FILENAME.$Num
   sleep 2
   let Num=Num+1
   let ED=Num+1
   let START_LINE=RECORD*Num
   let END_LINE=RECORD*ED
done

 

  脚本比较简单,但要引申却有很多多的内容,比如按特定条件划分文件,目前还没精力想这个,有思路的朋友给个线索。



TAG: 脚本

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-09-08  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 2512
  • 日志数: 5
  • 建立时间: 2006-09-09
  • 更新时间: 2006-10-17

RSS订阅

Open Toolbar