系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > Linux通过shell脚本将txt大文件切割成

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

时间:2015-06-05 16:44:50 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20150605/50197.html 手机查看 评论

  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

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

扫码关注
扫码关注

扫码关注 官方交流群 软件收录