#!/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.txt
for ((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_NUM
do
#echo $filename
MAC_NAME=`basename $filename`
#过滤后缀
MAC_NAME=${MAC_NAME%\.*}
#echo $MAC_NAME
#--#sed -i 's/$/,'${MAC_NAME}'/' $filename
awk -F, '$1==1{print >> "'$DIR_SUN_HE_1'"}' $filename
awk -F, '$1==2{print}' $filename | sed "s/$/,${MAC_NAME}/" >> $DIR_SUN_HE_2
awk -F, '$1==3{print}' $filename | sed "s/$/,${MAC_NAME}/" >> $DIR_SUN_HE_3
done
} & #加这个符号,即会不断增加进程。 FOR 100次,即100个进程
done
wait #等待上面的sh 执行完毕,再向下执行
#执行结束时间
TIME_END=`date +%s%N|cut -c1-13`
echo "${TIME_END}-${TIME_START}= Running time:: $((${TIME_END}-${TIME_START}))" >> logo.txt
exit
#合并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$i
DIR_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