当前位置:K88软件开发文章中心电脑基础基础应用11 → 文章内容

Linux通过shell脚本将txt大文件切割成小文件的方法

减小字体 增大字体 作者:华军  来源:华军资讯  发布时间:2019-2-1 21:47:06

  解决方法:  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  上面就是Linux使用shell脚本将txt大文件切割成小文件的方法介绍了,txt文件太大的话可使用本文的方法进行切割处理。

Linux通过shell脚本将txt大文件切割成小文件的方法