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

大家好,今天Win10系统之家小编给大家分享「Linux通过shell脚本将txt大文件切割成小文件的方法」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!

  Linux系统下,有些txt文件比较大,转移到移动设备非常不方便,那么能不能将txt大文件变成多个小文件呢?其实可通过shell脚本实现,下面小编就给大家介绍下Linux通过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

  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大文件切割成小文件的方法」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~

文♂章来②自Win10系统之家,未经允许不得转载!

精彩推荐

推荐软件

COPYRIGHT @2016 ALL RIGHTS RESERVED

本站点上的所有软件和资料均为软件作者提供和网友推荐收集整理而来,仅供学习和研究使用。如有侵犯你版权的,请来信227228@qq.com指出,本站将立即改正。

首页 电脑版 顶部