linux下shell脚本切割大文件为多个小txt文件
发布:smiling 来源: PHP粉丝网 添加日期:2015-04-21 09:47:13 浏览: 评论:0
小编有一个几百GB的txt文件了,里面存储的是电话号码,那么这些电话号码小编希望分成小文件了,下面就来给各位介绍利用shell脚本切割大文件为多个小txt文件例子.
解决方法:
1.先使用split命令切割大文件,每个小文件保存100万行.
split 参数:
-b:后面可接欲分割成的档案大小,可加单位,例如 b,k,m 等.
-l:以行数来进行分割;
#按每个文件1000行来分割除
split -l 1000 httperr8007.log httperr
httpaa,httpab,httpac ........
#按照每个文件100K来分割
split -b 100k httperr8007.log http
httpaa,httpab,httpac ........
2.遍历所有100万行文件,逐个新建目录再切割成1万行小文件
- #!/bin/bash
- bigfile="1.txt"
- split -l 1000000 $bigfile text
- currdir=1
- for smallfile in `ls | grep "text*"`
- do
- linenum=`wc -l $smallfile | awk '{print $1}'`
- n1=1
- file=1
- savedir="$smallfile$currdir"
- if [ ! -d "$savedir" ]
- then
- mkdir $savedir
- fi
- while [ $n1 -lt $linenum ]
- do --phpfensi.com
- n2=`expr $n1 + 9999`
- sed -n "${n1},${n2}p" $smallfile > $savedir/text$file.txt
- n1=`expr $n2 + 1`
- file=`expr $file + 1`
- done
- currdir=`expr $currdir + 1`
- done
Tags: shell脚本切割 linux切割大文件
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)