手机软件,为您提供安全的绿色软件下载!

当前位置:首页  »  系统教程  »  Linux教程  »  Linux通过shell脚本将txt大文件切割成小文件的方法

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



来源:87G手游网    录入:手机软件    人气:加载中    时间:2023-05-01 02:49

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

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

{else}

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

{end if}