shell split檔案分割方法

2021-07-26 01:24:21 字數 790 閱讀 9807

1.需求

每天有一批資料(200m)的資料要寫入redis,使用乙個指令碼進行讀取檔案、寫入需要的時間太長了,優化方式是將大檔案拆分成小檔案,啟動多個程序去寫入redis,設定每個檔案的行數是40000行。

2.指令碼

scriptdate=$1

basepath="/home/data/"

datafilename="click_$1.data"

basefile="$basepath$datafilename"

datafile="/home/data/$datafilename"

testfile="/home/script/insertredis.sh"

if [ -d "$basepath" ]; then

echo "exists"

fimkdir $basepath

cp $datafile $basepath/

cd $basepath

j=0split -40000 $datafile data_

rm $basefile

for i in `ls -1`

do echo "file is $i"

sh $testfile $basepath$i $scriptdate $i &

folder_list[j]=$i

j=`expr $j + 1`

done

3.呼叫方法

./split.sh 20161225

python檔案分割,列表分割

python分割檔案或列表作為多執行緒,多程序輸入 path為檔案路徑,n每個分割塊的大小 import pandas as pd def split file path,n df pd.read table path,iterator true loop true chunks while loo...

NGINX日誌檔案按日分割成單獨檔案的方法

開啟linux計畫任務 crontab e 輸入以下 00 00 bin bash data web vhost log cutlog.sh bin bash 此指令碼用於自動分割nginx的日誌,包括access.log和error.log 每天00 00執行此指令碼 將前一天的access.lo...

split分割檔案

在linux下,使用split命令可以實現檔案的分割,使用 cat 命令來完成分割檔案的合併 譬如,在下面 split 命令列中的 12m 表示分割後的每個檔案為 12mb,filename 為待分割檔案,分割後的檔案自動命名為 xaa,xab,split 按指定的行數截斷檔案 格式 split n...