欢迎光临
我们一直在努力

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

  Linux系统下,有些txt文件比较大,转移到移动设备非常不方便,那么能不能将txt大文件变成多个小文件呢?其实可通过shell脚本实现,下面小编就给大家介绍下Linux通过shell脚本切割txt大文件的方法。

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文件太大的话可使用本文的方法进行切割处理。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Linux通过shell脚本将txt大文件切割成小文件的方法》
文章链接:https://pc.adminn.cn/2487.html
本站属非盈利性网站,不接受任何形式广告。本站提供文章纯教程分享,给网民提供教程,文章均采集网路,如侵犯您的权益,请联系我们删除,QQ:805750011。