当前位置:  技术问答>linux和unix

关于awk批量生产sql问题

    来源: 互联网  发布时间:2016-08-29

    本文导语:  现在我有如下需求,有一个aaa.txt文本,文体字段以及内容如下 H码,H码数量 1564434|91731 1325499|57322 1325489|24795 1333474|24009 1564433|12038 1325412|475 1333410|290 1333453|289 1325429|241 1564400|162 1333482|157 1325413|154 1325411|136 1325420|104 156443...

现在我有如下需求,有一个aaa.txt文本,文体字段以及内容如下
H码,H码数量
1564434|91731
1325499|57322
1325489|24795
1333474|24009
1564433|12038
1325412|475
1333410|290
1333453|289
1325429|241
1564400|162
1333482|157
1325413|154
1325411|136
1325420|104
1564432|93
1334458|91
1334457|86
1325460|85
1564437|74
1325440|73
1325461|68
1333475|67
1309085|64
1333437|64
1325423|63
1325437|61
1333439|61
1333416|58
1333430|58
1325441|48
1325463|47
1325432|46
1564431|44
1325434|40
1333483|39
1325422|33
1325445|31
1564422|30
1564410|28
1333459|28
1325449|28
1325433|27
1325427|27
1320010|27
1564455|26
1325490|26
1325428|26
1333420|25
1325425|25
1325478|25
1564453|23
1325457|22
1320095|21
1333433|20
1564402|19
1325416|19
1309054|19
1325436|18
1334461|17
1309087|16
1333491|16
1564448|16
1333484|15
1325435|15
1309089|14
1325426|14
1325448|14
1309014|13
1333497|13
1300028|12
1564447|12
1333455|12
1333490|12
1325454|12
1333450|10
1325453|10
1333431|10
1300013|10
1333469|9
1333419|9
1325417|9
1325485|8
1564408|8
1337019|7
1325415|7
1564414|7
1334466|7
1325431|6
1333477|6
1325464|6
1564409|6
1564404|6
1309067|6
1334460|6
1338936|6
1333496|6
1333428|6
1564406|6
1333466|6
1333465|6
1333460|6
1309020|5
1309036|5
1564416|5
1564401|5
1564474|5
1333470|4
1564407|4
1320082|4
1300094|4
1564415|4
1325462|4
1333429|4
1380013|4
1333499|3
1325424|3
1333436|3
1564430|3
1564457|3
1331061|3
1333435|3
1334408|3
1333412|3
1325491|2
1325421|2
1320061|2
1333473|2
1564454|2
1333413|2
1349226|2
1334495|2
1325456|2
1334403|2
1325493|2
1325477|2
1564439|1
1325495|1
1320016|1
1333478|1
1300085|1
1325430|1
1333495|1
1564456|1
1333471|1
1564427|1
1333432|1
1333476|1
1300055|1
1325469|1
1333418|1
1325473|1
1332107|1
1300024|1
1333462|1
1881234|2
1574562|52
1892456|1
现在想批量将上面的H码插入到数据库的一个表a中,a的字段如下:号码,区号,运营商,品牌,现有如下需求:
如果是133,153对应的品牌是22,189对应的是24  此时运营商代码为11
如果是157,188对应的品牌是23,运营商代码为12
如果是134-139,150-152,158-159,187对应的品牌为21,运营商代码为12
如果是130-132,155,156,186对应的品牌也是21,运营商代码为13
我想通过shell定时生成insert语句,然后通过crontab 定期执行,请大家帮忙分析一下,以下是我个人写的脚本

cat aaa.txt|awk -F | '{if(substr($1,1,3)==133) print $0}' | awk -F '|' '{print $1}' | while read msisdn 

do
        echo "insert into tp_hcode_temporary values(""'"$msisdn"',"351","11","22");"  >>jfy.dat
done

但我不会处理上面的逻辑。请帮忙!

另外发现一个奇怪的问题
cat aaa.txt|awk -F | '{if(substr($1,1,3)~!/13[3,4,5,6,7,8,9]/) print $0}'|grep 1325411
就找不到1325411

cat aaa.txt|grep 1325411
这样是可以的。请帮忙分析,非常着急,不胜感激!



|
看来楼主跟我是同一行业啊.
#!/bin/sh

src_file=aaa.txt

awk -F'|' '{
nbr=substr($1,1,3);
product="";
businees="";
if(nbr=="133" || nbr=="153"){
product="22";
businees="11";
}
else if(nbr=="189"){
product="24";
businees="11";
}
else if((nbr>=134 && nbr= 150 && nbr = 158 && nbr =130 && nbr

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • awk里可以嵌套awk吗?
  • 怎样让awk输出到中途退出awk?
  • 请问一下AWK怎么样在一行文本中的第14个字段的最后面加一个空格符呢,不知道AWK的写法该怎么写,在线求教,谢谢了!!!
  • 运行awk脚本文件碰到:-bash:student_tot.awk:command not found
  • awk能改变变量的值么?
  • awk程序中使用shell的变量
  • 新手请教一段AWK代码,报错。
  • awk如何删除一个文件?
  • awk在shell script中
  • awk 匹配字符串
  • awk参数中文件名是变量的情况
  • awk中如何带入变量
  • shell awk之后对某一列进行求和
  • AWK
  • awk中如何读取shell变量?
  • 用awk如何在当前目录下所有文件中搜索字符串
  • 问一个关于shell中awk的使用
  • awk脚本执行不了
  • 如何用awk统计数据
  • gawk与nawk 以及awk的区别和怎么使用,有点不是很明白请高手赐教!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3