将海量文件用split切割清单,并逐一处理

思路:bash

1. 将海量文件,ls 出文件清单;
2. 使用split将清单,以2000位单位切割成N个小文件清单
3. 使用for循环语句,结合seq增量计数,逐一处理
4. 为避免机器处理不及时,造成文件积压,过程当中使用where循环检查目标目录文件数量
 code

#!/bin/bash
fsource=/root/script/vlist/file_split-
dsource=/root/vfpa/temp/02
dtarget=/root/vfpa/source/IWSCIM

for i in `seq -w 66`
do
        FILENAME=$fsource$i
        for j in `cat $FILENAME`
        while (( `ls -l $dtarget | wc -l` > 1000 )); do sleep 1m; done;
        do
        mv $dsource/$j $dtarget
        done

echo process done $i files, Sleeping in 20 minutes >> /root/script/vfpa_list3_mv.log
sleep 20m
continue
done


### split -a 2 -l 2000 -d Flist vlist/file_split-
相关文章
相关标签/搜索