1 #!/bin/bash2#大檔案按行數分離成若干小檔案指令碼
34 con_data='
db2 connect to db_edp
'5 con_time='
db2 "values current timestamp"
'6 con_reset='
db2 connect reset'7
#將要分離的檔名寫到此處,其它地方不要改動
8 clear_file=pdm_20160512.txt
910 echo $con_data >lianjie.txt
11 echo $con_time >>lianjie.txt
1213 echo "
新增連線資料庫命令到分離檔案中......
"14 awk '
1;nr%40==0
' $clear_file >$clear_file.bak
15 sed -i "
1i $con_data
"$clear_file.bak
16 sed -i "
2i $con_time
"$clear_file.bak
1718 echo "
開始分離檔案......
"19 split -l 42 -d -a 3 $clear_file.bak del_ && ls| grep del_ | xargs -n1 -i mv {} {}.sh
2021 echo "
新增結尾時間戳到分離後的小檔案中......"22
for file in `ls|grep del_`;do
23 echo $con_time >>$file
24 echo $con_reset >>$file
25done
2627 echo "
壓縮分離後的小檔案......
"28 tar cf $clear_file.tar del_*
2930 echo "
刪除生成的檔案......
"31 rm -f del_*lianjie.txt $clear_file.bak
3233 echo "
執行完成
"
Linux shell 按行切割大檔案
最近專案中,檔案內容有點多,想刪除一部分的資料,如檔案有1000行,想保留600行 僅用來舉例,實際需求更複雜些 該怎麼辦呢?不如把檔案切開來,想到用 split 試試 引數說明 b,bytes size 對file進行切分,每個小檔案大小為size。可以指定單位b,k,m。l,lines numb...
shell指令碼 按行讀取檔案
按行讀取檔案 bin bash echo 方法 1 while read line1 do echo line1 done 1 echo 方法 2 cat 1 while read line2 do echo line2 done echo 方法 3 for line3 in 1 do echo l...
python 按行讀大檔案的方法
這裡的大檔案指一次讀的話會使記憶體爆掉的檔案,所以我們需要一行一行地讀。乙個名為123的txt檔案,裡面分別按行存了三個數字 1 2和3。with open 123.txt as f for line in f print line.strip 輸出12 3 with open 123.txt as...