首页 > 系统 > Linux教程

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

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:/jtjc/Linux/2021-03-09/28898.html

留言与评论(共有 0 条评论)
   
验证码:

潘少俊衡

| 桂ICP备2023010378号-4

Powered By EmpireCMS

爱享小站

中德益农

谷姐神农

环亚肥料

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

感谢潘少俊衡友情技术支持