思路: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-