背景:
阅读新闻
Shell脚本分割文件成相同行数的文件
[日期:2011-08-12] 来源:Linux社区 作者:anljf [字体:]
使用shell脚本将testfile.txt文件(共7800行)分割成13个文件,每个文件600行,文件名的前缀是SplitFile
[root@ /home/sysadmin/zhaoyj]# cat testfile.txt |wc -l
7800
脚本如下:
[root@ /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@ /home/sysadmin/zhaoyj]# ls |grep '^SplitFile' |wc -l
13
[root@ /home/sysadmin/zhaoyj]# ls |grep '^SplitFile'
SplitFile1
SplitFile10
SplitFile11
SplitFile12
SplitFile13
SplitFile2
SplitFile3
SplitFile4
SplitFile5
SplitFile6
SplitFile7
SplitFile8
SplitFile9
最后再核实一下每个文件的大小是否一致
[root@ /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
相关资讯 shell
本文评论 查看全部评论 (0)
尊重网上道德,遵守中华人民共和国的各项有关法律法规 承担一切因您的行为而直接或间接导致的民事或刑事法律责任 本站管理人员有权保留或删除其管辖留言中的任意内容 本站有权在网站内转载或引用您的评论 参与本评论即表明您已经阅读并接受上述条款
评论声明
最新资讯