Shell脚本分割文件成相同行数的文件
Shell脚本分割文件成相同行数的文件
使用shell脚本将testfile.txt文件(共7800行)分割成13个文件,每个文件600行,文件名的前缀是SplitFile
[root@www.bkjia.com /home/sysadmin/zhaoyj]# cat testfile.txt |wc -l
7800
脚本如下:
[root@www.bkjia.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.bkjia.com /home/sysadmin/zhaoyj]# ls |grep '^SplitFile' |wc -l
13
[root@www.bkjia.com /home/sysadmin/zhaoyj]# ls |grep '^SplitFile'
SplitFile1
SplitFile10
SplitFile11
SplitFile12
SplitFile13
SplitFile2
SplitFile3
SplitFile4
SplitFile5
SplitFile6
SplitFile7
SplitFile8
SplitFile9
最后再核实一下每个文件的大小是否一致
[root@www.bkjia.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
评论暂时关闭