最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
linux下shell脚本切割大文件为多个小txt文件
时间:2015-03-11 编辑:简简单单 来源:一聚教程网
解决方法:
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
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
-
下一个: nginx日志切割的几个例子
相关文章
- win11内核隔离和内存完整性介绍 10-31
- win10全屏缩放设置教程 10-31
- win10系统备份出错解决教程 10-31
- win10打开软件每次都要询问解决教程 10-31
- win10更新驱动后设备出现异常解决教程 10-31
- win10一直提示找到可能不需要的应用解决教程 10-31