使用shell指令碼將testfile.txt檔案(共7800行)分割成13個檔案,每個檔案600行,檔名的字首是splitfile
[root@mx1 /home/sysadmin/zhaoyj]#cat testfile.txt |wc -l
7800
指令碼如下:
[root@mx1 /home/sysadmin/zhaoyj]# cat split.sh
#!/bin/sh
linenum=`wc -l testfile.txt |awk ''`
num1=1
filenum=1
while [ $num1 -lt $linenum ]
donum2=`expr $num1 + 599`
sed -n "$, $p " testfile.txt > splitfile$filenum
num1=`expr $num2 + 1`
filenum=`expr $filenum + 1`
done
最後生成的檔案是
[root@mx1 /home/sysadmin/zhaoyj]#ls |grep '^splitfile' |wc -l
13
[root@mx1 /home/sysadmin/zhaoyj]#ls |grep '^splitfile'
splitfile1
splitfile10
splitfile11
splitfile12
splitfile13
splitfile2
splitfile3
splitfile4
splitfile5
splitfile6
splitfile7
splitfile8
splitfile9
最後再核實一下每個檔案的大小是否一致
[root@mx1 /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指令碼分割字串
以字元進行切割時 從字串左邊開始計數 如果想從字串的左邊開始計數,那麼擷取字串的具體格式如下 其中,string 是要擷取的字串,start 是起始位置 從左邊開始,從 0 開始計數 length 是要擷取的長度 省略的話表示直到字串的末尾 url c.biancheng.net echo 結果為b...
比較2個檔案內容不同行的shell指令碼
第一種 grep命令法 命令如下 grep vxff file1 file2 a.txt 其中file2是大檔案,file1是小檔案 第一種 comm命令法 命令如下 comm file1 file2 1 3 file1和file2必須是有序檔案,所以在comm前可以先sort file1 sort...
利用shell指令碼對大檔案進行分割
有系統運維的過程中,日誌檔案往往非常大,這樣就要求對日誌檔案進行分割,在此特用shell指令碼對檔案進行分割 方法一 其中httperr8007.log為你想分割的大檔案,file file.log 為分割後的檔案,最後為file 1.log,file 2.log,file 3.log 分割完後的每...