awk读取txt生成mysql插入语句

#!/bin/bash
TABFILE="tabfile.txt"
FILENAME="$1"#读入的文件名字,第一个参数
num=0;
#cat $FILENAME |  iconv -f GBK -t UTF-8 | while read LINE
#do
#((num=$num+1))
#echo "line $num $LINE"
#echo $LINE
#awk  -F '[\t]'  '{printf  $1 "\t"  $2 "\t"  $3 "\t"  $4 "\t"  $5 "\t"  $6 "\t\n" }'  $FILENAME  |  iconv -f GBK -t UTF-8 #
#awk -F '[\t]' '{printf "INSERT INTO t_info VALUES (" "\""  $1 "\",  "  "\""  $2 "\",  "  "\""  $3 "\",  "  "\""  $4 "\",  " "\""  $5 "\",  " "\""  $6 "\", "   "NOW(), NOW() " ") FROM t_info WHERE NOT EXISTS  (SELECT * FROM t_info WHERE Fcddf=\"" $1 "\");\n"}' $FILENAME  |  iconv -f GBK -t UTF-8
#awk -F '[\t]' '{printf "INSERT INTO t_info VALUES (" "\""  $1 "\",  "  "\""  $2 "\",  "  "\""  $3 "\",  "  "\""  $4 "\",  " "\""  $5 "\",  " "\""  $6 "\", "  "NOW(), NOW() );\n"}' $FILENAME  |  iconv -f GBK -t UTF-8

#awk -F '[\t]' '{printf "INSERT INTO t_info(Fcddf,  Fregion , Fmodel,  Fnetwork , Fmem , Fcolor , Fcreate_time, Fupdate_time) select \""$1"\",  \""$2"\",  \""$3"\",  \""$4"\",  \""$5"\",  \""$6"\", NOW(), NOW() from  t_number_info WHERE NOT EXISTS  (SELECT Fcddf FROM t_number_info WHERE Fcddf=\""$1"\");\n"}' $FILENAME  |  iconv -f GBK -t UTF-8
#done
#str="INSERT INTO t_number_info(Fcddf,  Fregion , Fmodel,  Fnetwork , Fmem , Fcolor , Fcreate_time, Fupdate_time) values"
#value=`awk -F  '[\t]'  '{printf "( \""$1"\",  \""$2"\",  \""$3"\",  \""$4"\",  \""$5"\",  \""$6"\",NOW(), NOW() ),"}' $FILENAME  |  iconv -f GBK -t UTF-8`
#echo $str $value
b=0#判断是不是第一个数据
awk  -F  '[\t]'  '{if($1 in a){ } else {a[$1];print $0 }}'  $FILENAME  |  iconv -f GBK -t UTF-8 > "tabfile.txt"#  iconv -f GBK -t UTF-8 的作用是中文乱码
str="INSERT ignore  INTO t_number_info(Fcddf,  Fregion , Fmodel,  Fnetwork , Fmem , Fcolor , Fcreate_time, Fupdate_time) values"
value=`awk -F  '[\t]'  '{if(b>0){ printf ",( \""$1"\",  \""$2"\",  \""$3"\",  \""$4"\",  \""$5"\",  \""$6"\",NOW(), NOW() )"}else{b+=1; printf "( \""$1"\",  \""$2"\",  \""$3"\",  \""$4"\",  \""$5"\",  \""$6"\",NOW(), NOW() )"}}' $TABFILE`
echo $str $value ";"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值