############################################################
# Define Initial value
############################################################
RAW_FILE=raw.o
ALL_FILE=all.o
PROCESS_FILE=up.o
STAGE_FILE=stage.o
PROCESS_COUNT=999
############################################################
# Check if need resume previous abort
############################################################
ALL_RC=$(cat ${ALL_FILE} | wc -l )
if [ ${ALL_RC} -ne 0 ] ; then
echo "
############################################################
# WARING: restore ${RAW_FILE} from ${ALL_FILE}
# SOP:
# mv ${ALL_FILE} ${RAW_FILE}
# re-run $0
############################################################
"
ls -la ${RAW_FILE} ${STAGE_FILE}
exit
fi
############################################################
# Main
############################################################
cp ${RAW_FILE} ${ALL_FILE}
TOTAL_ROW=$(cat ${ALL_FILE} | wc -l)
LOOP_COUNT=$(( (${TOTAL_ROW}/${PROCESS_COUNT})+1 ))
NN=0
while [ ${NN} -ne ${LOOP_COUNT} ] ; do
echo "=== ${NN} ==="
head -${PROCESS_COUNT} ${ALL_FILE} > ${PROCESS_FILE}
cp ${PROCESS_FILE} ${RAW_FILE}
head -1 ${RAW_FILE}
tail -1 ${RAW_FILE}
diff ${PROCESS_FILE} ${ALL_FILE} | grep '>' | sed "s/> //g" > ${STAGE_FILE}
cp ${STAGE_FILE} ${ALL_FILE}
NN=$((${NN}+1))
done
############################################################
# Clean tmp file
############################################################
cat /dev/null > ${PROCESS_FILE}
cat /dev/null > ${STAGE_FILE}
cat /dev/null > ${RAW_FILE}
分段處理大型列表檔案內容
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 昨晚北京时间凌晨发生重磅事件,google I/O 2016发布会,都有什么新鲜内容呢?网易新闻对此有做全程直播,...