批量文件筛选处理shell
来源:互联网 发布:php维护 编辑:程序博客网 时间:2024/06/16 12:19
#!/bin/sh#文件筛选操作#日期-默认昨天DATE=`date +"%Y%m%d" -d "-1 days"`DATE="20140308"#目录根路径DIR_PATH="/www/web/OP/osstest/testphp/caomei_${DATE}/"#要处理的目录DIR_SUN_FEN="${DIR_PATH}yuan/"#处理后存放的目录DIR_SUN_HE="${DIR_PATH}he/"#echo $DIR_PATH#文件夹数DIR_FEN=100#合并文件名前缀CAOMEI_2="caomei_2_"CAOMEI_3="caomei_3_"#目标基本信息文件名CAOMEI_1="caomei_1"#目标文件名后缀FILE_EXTEND=".txt"################################################################## function 根据例值查询到匹配的行后,将该行写到文件中(调用)###################################################################$1 要查找的源目录路径#$2 合并后的文件路径及文件名#$3 查询条件function caomei_awk_col(){SOURCE=${1}TARGET=${2}WHERE=${3}#echo $SOURCE#echo $TARGET#find ${SOURCE} -type f -name "*" -print0 | xargs -0 awk -F, '$1==1{print > "/www/web/OP/osstest/testphp/caomei_20140220/he/caomei_tmp.txt"}'#find ${SOURCE} -type f -name "*" -print0 | xargs -0 awk -F, '$1==1{print > "'$TARGET'"}'find ${SOURCE} -type f -name "*" -print0 | xargs -0 awk -F, '$'$WHERE'{print >> "'$TARGET'"}'}#执行开始时间TIME_START=`date +%s%N|cut -c1-13`echo "日期:${DATE} - 分:${DIR_FEN} 开始时间:" `date +%Y%m%d%H%M%S` "\r\n" >> logo.txt#exit ##每行增加字段mac 瓶颈。。。。。。。。。。。。。。# sed -i 's/$/,kkk/' 5.txtfor ((i=1;i<=$DIR_FEN;i++));do{#子文件目录DIR_SUN_FEN_NUM=$DIR_SUN_FEN$i"/*"#目标地址DIR_SUN_HE_1="${DIR_SUN_HE}${CAOMEI_1}${FILE_EXTEND}"DIR_SUN_HE_2="${DIR_SUN_HE}${CAOMEI_2}${i}${FILE_EXTEND}"DIR_SUN_HE_3="${DIR_SUN_HE}${CAOMEI_3}${i}${FILE_EXTEND}"for filename in $DIR_SUN_FEN_NUMdo#echo $filenameMAC_NAME=`basename $filename`#过滤后缀MAC_NAME=${MAC_NAME%\.*}#echo $MAC_NAME#--#sed -i 's/$/,'${MAC_NAME}'/' $filenameawk -F, '$1==1{print >> "'$DIR_SUN_HE_1'"}' $filenameawk -F, '$1==2{print}' $filename | sed "s/$/,${MAC_NAME}/" >> $DIR_SUN_HE_2awk -F, '$1==3{print}' $filename | sed "s/$/,${MAC_NAME}/" >> $DIR_SUN_HE_3done} & #加这个符号,即会不断增加进程。 FOR 100次,即100个进程donewait #等待上面的sh 执行完毕,再向下执行#执行结束时间TIME_END=`date +%s%N|cut -c1-13`echo "${TIME_END}-${TIME_START}= Running time:: $((${TIME_END}-${TIME_START}))" >> logo.txtexit#合并id=1行基础信息 【调用function caomei_awk_col】caomei_awk_col ${DIR_SUN_FEN} ${DIR_SUN_HE}${CAOMEI_1} "1==1"#合并id=2的行,合并id=3的行 【调用function caomei_awk_col】for ((i=1;i<=$DIR_FEN;i++))do#来源目录DIR_SUN_FEN_NUM_2=$DIR_SUN_FEN$iDIR_SUN_FEN_NUM_3=$DIR_SUN_FEN$i#目标地址DIR_SUN_HE_2="${DIR_SUN_HE}${CAOMEI_2}${i}${FILE_EXTEND}"DIR_SUN_HE_3="${DIR_SUN_HE}${CAOMEI_3}${i}${FILE_EXTEND}"#echo "${DIR_SUN_HE}${CAOMEI_2}${i}${FILE_EXTEND}"# function 来自哪个目录 合并至哪个目录文件条件caomei_awk_col $DIR_SUN_FEN_NUM_2 $DIR_SUN_HE_2 "1==2"caomei_awk_col $DIR_SUN_FEN_NUM_3 $DIR_SUN_HE_3 "1==3"done
0 0
- 批量文件筛选处理shell
- shell命令批量处理文件
- 博客迁移:Shell脚本批量文件处理
- shell批量处理
- C++批量隔行筛选标签txt文件
- 用shell 批量处理任务
- 批量处理文件
- 批量处理隐藏文件
- Matlab批量处理文件
- perl批量处理文件
- Python 批量处理文件
- 批量文件删除处理
- Shell-Linux批量删除文件
- 【SHELL】5 批量文件操作
- Shell-linux批量删除文件
- linux shell批量拷贝文件
- shell批量文件编码转换
- shell脚本批量移动文件
- MATLAB实现寻路、布线、迷宫的递归深度优先遍历算法_动画演示
- AndEngine Example(4):SpriteRemoveExample
- maven3实战之坐标和依赖(依赖的配置)
- python数据结构与算法 5栈的应用之圆括号平衡
- HDU 3791 二叉搜索树
- 批量文件筛选处理shell
- Camshift算法
- LDAP 基本元素
- P2P理财
- 长沙发生砍杀事件 教育局通知附近小学暂不放学
- maven3实战之坐标和依赖(依赖范围)
- JAVA连接sqlserver2008 r2
- 移动端网页如何使用JqueryMobile+PHP实现上传图片的功能
- jQuery插件开发全解析