Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1610289
  • 博文数量: 409
  • 博客积分: 6240
  • 博客等级: 准将
  • 技术积分: 4908
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-01 00:04
文章分类

全部博文(409)

文章存档

2021年(1)

2019年(1)

2017年(1)

2016年(13)

2015年(22)

2013年(4)

2012年(240)

2011年(127)

分类: Python/Ruby

2012-04-28 11:30:47

对于使用awk,要注意什么时候用if循环和for循环,if只能打印$1 。如下面,只能使用for:

  1. [yangkai@mp2 yk]$ awk -F '[/]' '{print $5 }' kong1uniqe.csv |awk 'BEGIN{FS=".";OFS="."}{$1=$1;if($NF=="cn" && $(NF-1)=="com")print $(NF-2),$(NF-1);else if($NF=="jp"||($NF=="cn"&&$(NF-1)!="com")||$NF=="hk")print $(NF-2),$(NF-1),$(NF);else if($NF=="cn"&&$NF=="sh")print $(NF-3),$(NF-2),$(NF-1),$(NF);else print $(NF-1),$(NF)}' |awk '{a[$1]++}END{if(i in a)print i}'
  2. [yangkai@mp2 yk]$ awk -F '[/]' '{print $5 }' kong1uniqe.csv |awk 'BEGIN{FS=".";OFS="."}{$1=$1;if($NF=="cn" && $(NF-1)=="com")print $(NF-2),$(NF-1);else if($NF=="jp"||($NF=="cn"&&$(NF-1)!="com")||$NF=="hk")print $(NF-2),$(NF-1),$(NF);else if($NF=="cn"&&$NF=="sh")print $(NF-3),$(NF-2),$(NF-1),$(NF);else print $(NF-1),$(NF)}' |awk '{a[$1]++}END{for(i in a)print a[i],i}' |head
  3. 1 jialezhuangxiu.com
  4. 1 yoxiu.com
  5. 9 jumeixiu.com
  6. 484 zhenpin.com
  7. 2 90xiu.com
  8. 5 qushangpin.com
  9. 1 tinglixiu.com
  10. 23 xuanshangpin.com
  11. 8 hzjinxiu.com
  12. 7 kaiyixiu.com
  13. [yangkai@mp2 yk]$


阅读(2328) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

g_programming2012-04-28 19:53:10

linux_kaige: 呵呵,整理的不好,awk的文章写了好几篇了,最近发现,在if (i in a )和for(i in a)有很大的区别,之前我都给忽略了。。。.....
是有区别 呵呵

linux_kaige2012-04-28 16:50:16

g_programming: 原始文件最好贴出来一下.....
呵呵,整理的不好,awk的文章写了好几篇了,最近发现,在if (i in a )和for(i in a)有很大的区别,之前我都给忽略了。。。

g_programming2012-04-28 12:54:13

原始文件最好贴出来一下