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如何禁止特定ip地址访问

下一篇:Unix系统使用UUCP的方法


Linuxshell脚本 txt文件切割 linux切割文件
Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器