Linux 下使用awk处理数据并写入数据库
一、awk功能使用
awk -F '|' '{print $1}‘
使用-F选项指定分割符,打印‘’第几个字段‘’
二、连接数据库并执行插入操作
mysql -h 10.18.20.10 -uuser -ppassword fxs -N
三、使用awk计算得到每个字段的值
由于第一条记录是字段名称,所以从后去最后一条,使用awk去处固定的字段。在shell中两个反单引号标识执行shell命令行,详单与$(shell命令)的功能。如下:
`(tail -n 1 $i | awk -F '|' '{print $8}')`
表示提取$i文件最后1行,以竖线“|”为分隔符的第8个字段
四、示例代码:
#!/bin/sh
#获取昨天的日期T=`date -d yesterday +%Y%m%d`
#echo "$T"
#将文件移动到指定目录
mv ~/DM_$T* /home/Comparison/XN_data/hour
#列出文件列表写入日志
FILE_LI=`find ./hour -name "DM*"
echo `date` >>/home/Comparison/XN_data/loader_data.log
echo "$FILE_LI" >>/home/Comparison/XN_data/loader_data.log
if [ "$FILE_LI" ];then
for i in $(ls $FILE_LI)
do
#计算数据时间
datatime=$(echo "${i:25:10}")
TIME_ID=`(tail -n 1 $i | awk -F '|' '{print $1}')`
AREA_NAM