拆分大檔案的指令碼

2021-07-02 20:26:56 字數 1142 閱讀 4122

有時候需要把乙個大檔案拆分成幾個小檔案,由於生產系統上沒有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 ...