shell 脚本入门之作

项目中有用shell获取数据库数据的需求,学着写了一下,可能写的不是太好,不过对我来说算是个入门。在这里只是做个记录。最近有一些其他的活也用到了shell,感觉这东西真心好,很方便。。

#!/bin/sh

#  7104.sh
#
#
#  Created by fanliugen on 28/10/13.
#

filenameFormat=`date -d "-1 day" "+%Y%m%d"`
path="/opt/test/log/${filenameFormat}/"

mkdir -p $path

filename="${path}i_7104_SID_${filenameFormat}_01.dat"
if [ -f $filename ]
then
rm -f $filename
echo "remove:" $filename
fi


ym=`date +'%Y%m'`
lastday=`date -d "-1 day" '+%Y-%m-%d'`
today=`date '+%Y-%m-%d'`

result=`mysql -h192.168.251.20 -P3377 -uadmin -padmin beside_log -e "select concat_ws(';',bid,parentid,userid,issuerange,mid,recordtype,picturecount,labeltype,version,replace(sendtime,' ','')) from broadcastlog_${ym} where sendtime>'${lastday}' and sendtime<'${today}'order by sendtime " --skip-column-name `


for line in ${result}
do

eval $(echo $line |awk '{ len=split($0,array,";"); {printf("bid=%s;parentid=%s;userid=%s;issuerange=%s;mid=%s;recordtype=%s;picturecount=%s;labeltype=%s;version=%s;sendtime=%s;",array[1],array[2],array[3],array[4],array[5],array[6],array[7],array[8],array[9],array[10])}}')

combineResult="${bid}{parentid}{userid}{issuerange}{mid}{recordtype}{picturecount}{labeltype}{version}$${sendtime//[^0-9]/}"
echo $combineResult >> ${filename}

done

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部