免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3569 | 回复: 9
打印 上一主题 下一主题

求助:awk的写法! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-10-17 11:22 |只看该作者 |倒序浏览
本帖最后由 sundful 于 2011-10-17 11:25 编辑

有两个文件,分别是文件A和文件B,格式如下:
A:
  1. 13811111111
  2. 13911111111
  3. 15011111111
  4. 13822222222
  5. 13922222222
  6. 15022222222
复制代码
B:
  1. 211.138.100.173 - - 2011-09-01 00:00:36 "GET /space/friendspace/layout.action?friendUserId=166467966&tp=space HTTP/1.0" 200 8497 "-"
  2. "10.214.56.178" "SonyEricssonK700c/R2AE SEMC-Browser/4.0.3 Profile/MIDP-2.0 Configuration/CLDC-1.1" "-" "8615011111111" "HTTP/1.1 S
  3. XTY-PS-WAP-GW11 (infoX-WISG, Huawei Technologies)" "-"
  4. 218.202.106.201 - - 2011-09-01 00:00:36 "GET /im/chat/toinputMsg.action?touserid=707610079&backUrl=&t=42969748415091570&tp=space HTT
  5. P/1.1" 200 7325 "-" "10.162.219.141" "Maui Browser" "-" "8613811111111" "ZXWAP GateWay,ZTE Technologies" "-"
  6. 211.137.199.53 - - 2011-09-01 00:00:36 "POST /im/chat/sendMsg.action?touserid=653598235&tp=space HTTP/1.0" 200 1421 "-" "10.152.41.2
  7. 47" "MX8/1.00 Nucleus RTOS/V1.11.19 MTK6225/07B Release/04.25.2008 Browser/Teleca Profile/MIDP-2.0 Configuration/CLDC-1.0" "-" "8615
  8. 022222222" "HTTP/1.1 SDJN-PS-WAP2-GW16 (infoX-WISG, Huawei Technologies)" "-"
  9. 211.136.115.45 - - 2011-09-01 00:00:36 "GET /space/giftbags/applystep2.action HTTP/1.0" 200 969 "-" "10.142.172.97" "MOT-A3000_CMCC/
  10. 1.0 Release/09.09.2008 Profile/MIDP-2.0 Configuration/CLDC-1.1 Software/WM6.1 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11)" "-"
  11. "8613822222222" "HTTP/1.1 SHSH-PS-WAP2-GW19 (infoX-WISG, Huawei Technologies)" "-"
复制代码
现在想通过A的手机号,去匹配B文件里的手机号,如果B文件里包含了这个手机号,则输出手机的ua(user agent),想写个awk,传入两个参数,如:./mytj.sh a.txt b.txt
然后把手机对应的user agent 输出到另外一个文件中:
结果如下:
  1. 13811111111 Maui Browser
  2. 15011111111 SonyEricssonK700c/R2AE SEMC-Browser/4.0.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
  3. 15022222222 MX8/1.00 Nucleus RTOS/V1.11.19 MTK6225/07B Release/04.25.2008 Browser/Teleca Profile/MIDP-2.0 Configuration/CLDC-1.0
  4. 13822222222 MOT-A3000_CMCC/
  5. 1.0 Release/09.09.2008 Profile/MIDP-2.0 Configuration/CLDC-1.1 Software/WM6.1 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11)
复制代码
麻烦大侠帮我看看!·

论坛徽章:
1
摩羯座
日期:2014-12-29 15:59:36
2 [报告]
发表于 2011-10-17 11:42 |只看该作者
  1. awk -F'" "' '{if(NR==FNR){a[86$0]}else{if($5 in a){print substr($5,3),$3}}}' $1 $2
复制代码

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
3 [报告]
发表于 2011-10-17 12:57 |只看该作者
  1. 211.138.100.173 - - 2011-09-01 00:00:36 "GET /space/friendspace/layout.action?friendUserId=166467966&tp=space HTTP/1.0" 200 8497 "-""10.214.56.178" "SonyEricssonK700c/R2AE SEMC-Browser/4.0.3 Profile/MIDP-2.0 Configuration/CLDC-1.1" "-" "8615011111111" "HTTP/1.1 SXTY-PS-WAP-GW11 (infoX-WISG, Huawei Technologies)" "-"
  2. 218.202.106.201 - - 2011-09-01 00:00:36 "GET /im/chat/toinputMsg.action?touserid=707610079&backUrl=&t=42969748415091570&tp=space HTTP/1.1" 200 7325 "-" "10.162.219.141" "Maui Browser" "-" "8613811111111" "ZXWAP GateWay,ZTE Technologies" "-"
  3. 211.137.199.53 - - 2011-09-01 00:00:36 "POST /im/chat/sendMsg.action?touserid=653598235&tp=space HTTP/1.0" 200 1421 "-" "10.152.41.247" "MX8/1.00 Nucleus RTOS/V1.11.19 MTK6225/07B Release/04.25.2008 Browser/Teleca Profile/MIDP-2.0 Configuration/CLDC-1.0" "-" "8615022222222" "HTTP/1.1 SDJN-PS-WAP2-GW16 (infoX-WISG, Huawei Technologies)" "-"
  4. 211.136.115.45 - - 2011-09-01 00:00:36 "GET /space/giftbags/applystep2.action HTTP/1.0" 200 969 "-" "10.142.172.97" "MOT-A3000_CMCC/1.0 Release/09.09.2008 Profile/MIDP-2.0 Configuration/CLDC-1.1 Software/WM6.1 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11)" "-""8613822222222" "HTTP/1.1 SHSH-PS-WAP2-GW19 (infoX-WISG, Huawei Technologies)" "-"
复制代码
  1. awk -F \" 'NR==FNR{a[86 $1];next} $12 in a {print $12,$8}' $1 $2
复制代码

论坛徽章:
0
4 [报告]
发表于 2011-10-17 13:05 |只看该作者
求解释!~!~

论坛徽章:
0
5 [报告]
发表于 2011-10-17 13:20 |只看该作者
回复 3# rdcwayx
用了下您的awk,发现不能输出东西呀!~!·求解释!~谢谢!~

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
6 [报告]
发表于 2011-10-17 13:25 |只看该作者
看看这个命令有没有输出?没有的话,自己调整。
  1. awk -F \" '{print $12,$8}' b.txt
复制代码

论坛徽章:
0
7 [报告]
发表于 2011-10-17 13:32 |只看该作者
回复 6# rdcwayx

ok,非常感谢,调试过了!!~~!·

论坛徽章:
0
8 [报告]
发表于 2011-10-18 14:30 |只看该作者
这样也可以
  1. #!/bin/bash

  2. LINE1="$1"
  3. LINE2="$2"

  4. for i in `cat ${LINE1}`
  5. do
  6. UA=`awk -F[\"] '/'${i}'/{print $8}' ${LINE2} `
  7. if [[ -n ${UA} ]];then
  8. echo ${i} ${UA}
  9. fi
  10. done
复制代码

论坛徽章:
0
9 [报告]
发表于 2011-10-18 16:10 |只看该作者
回复 3# rdcwayx


    这条语句next是多余的吧?

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
10 [报告]
发表于 2011-10-19 07:38 |只看该作者
回复  rdcwayx


    这条语句next是多余的吧?
fangtong2008 发表于 2011-10-18 16:10



不多余, 你再考虑一下有什么用处.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP