shell截取文件行数_Shell脚本分割文件成相同行数的文件

使用shell脚本将testfile.txt文件(共7800行)分割成13个文件,每个文件600行,文件名的前缀是SplitFile

[root@www.linuxidc.com /home/sysadmin/zhaoyj]# cat testfile.txt  |wc -l

7800

脚本如下:

[root@www.linuxidc.com /home/sysadmin/zhaoyj]# cat split.sh

#!/bin/sh

linenum=`wc -l testfile.txt |awk '{print $1}'`

Num1=1

FileNum=1

while [ $Num1 -lt $linenum ]

do

Num2=`expr   $Num1   +   599`

sed   -n   "${Num1},   ${Num2}p "   testfile.txt   >   SplitFile$FileNum

Num1=`expr   $Num2   +   1`

FileNum=`expr   $FileNum   +   1`

done

最后生成的文件是

[root@www.linuxidc.com /home/sysadmin/zhaoyj]# ls |grep '^SplitFile' |wc -l

13

[root@www.linuxidc.com /home/sysadmin/zhaoyj]# ls |grep '^SplitFile'

SplitFile1

SplitFile10

SplitFile11

SplitFile12

SplitFile13

SplitFile2

SplitFile3

SplitFile4

SplitFile5

SplitFile6

SplitFile7

SplitFile8

SplitFile9

最后再核实一下每个文件的大小是否一致

[root@www.linuxidc.com /home/sysadmin/zhaoyj]# ls |grep '^SplitFile' |xargs wc -l

600 SplitFile1

600 SplitFile10

600 SplitFile11

600 SplitFile12

600 SplitFile13

600 SplitFile2

600 SplitFile3

600 SplitFile4

600 SplitFile5

600 SplitFile6

600 SplitFile7

600 SplitFile8

600 SplitFile9

    7800 total

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值