LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 758|回复: 2

shell处理的文件比较大怎么办??

[复制链接]
发表于 2006-3-24 13:41:01 | 显示全部楼层 |阅读模式
file1
01,13,20050621,12,1
02,123,1231222231231231
08,123
01,13,20050620,12,1
02,123,1231222231231231
08,123

其中02开头的能有二十多万条数据  

shell 要将file1中01开头的08结尾重新输出到文件中
while read line
do
code=`echo $line|awk -F"," '{print $1}'`
if [ $code = "01" ];then
    dat=`echo $line|awk -F"," '{print $3}'`
    i=0
    echo $line > ${dat}.txt
elif [ $code = "01" ];then ]
    echo $line >> ${dat}.txt
    i=`expr $i + 1`
else
    echo $line >> ${dat}.txt
   
  fi
done < file1

用这个脚本运行的话 二十万条需要很长时间,请大家帮忙看着优化一下,谢谢!!
发表于 2006-3-24 15:20:27 | 显示全部楼层
grep "^01.*08#" filename.1 > filename.2
01开头且08结尾的吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-24 16:19:17 | 显示全部楼层
Post by conwood
grep "^01.*08#" filename.1 > filename.2
01开头且08结尾的吗?



01 ......

08.......

这样的算一个文件
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表