有時候需要把乙個大檔案拆分成幾個小檔案,由於生產系統上沒有split程式,因此自己寫了兩個指令碼來實現該功能。
第乙個指令碼根據行數來拆分:
#! /bin/bash第二個指令碼根據位元組數來拆分#filename my-line-split.sh
#usage: my-line-split.sh 行數 bigfile
#拆分的檔案以bigfile.split.1 bigfile.split.2...命名
split_line=$1
file=$2
total_line=$(wc -l <$file)
prefix=$file.split.
i=1begin_line=1
while [ $begin_line -le $total_line ]
do end_line=$(echo "$begin_line+$split_line-1" |bc)
sed "$begin_line,$end_line!d" $file >$prefix$i
i=$(echo "$i+1" |bc)
begin_line=$(echo "$end_line+1"|bc)
done
#! /bin/bash#filename my-byte-split.sh
#usage: my-byte-split.sh 位元組數 bigfile
#拆分的檔案以bigfile.split.1 bigfile.split.2...命名
split_line=$1
file=$2
total_line=$(wc -l <$file)
prefix=$file.split.
i=1begin_line=1
while [ $begin_line -le $total_line ]
do end_line=$(echo "$begin_line+$split_line-1" |bc)
sed "$begin_line,$end_line!d" $file >$prefix$i
i=$(echo "$i+1" |bc)
begin_line=$(echo "$end_line+1"|bc)
done
大檔案拆分
fp e logtest u ex160314.log 原檔名稱 fname e logtest u ex160314 新檔名稱 fsize 1024 1024 1mb,定義每個新檔案的大小 num 1 新檔名後 1 sum 0 每個新檔案的當前大小 with open fp,rb as fo fo...
大檔案拆分與合併指令碼(Python3 8)
更多常用方法封裝和指令碼彙總歡迎移步 下面直接貼 usr bin env python coding utf 8 date 2020 11 16 20 33 author joy version python3.8 import os,re defnormal path args return os...
大檔案拆分命令split
下面的列表中給出了該命令最為常用的幾個命令列選項 選項描述 l指定行數,每多少分隔成乙個檔案,預設值為1000行。b指定位元組數,支援的單位為 k和m c與 b引數類似,但切割時盡量維持每行的完整性 d生成檔案的字尾為數字,如果不指定該選項,預設為字母 root xieqichao ls l rw ...