免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ghostvic
打印 上一主题 下一主题

[求助]文本处理 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-07-14 16:05 |只看该作者
回复 10# lkk2003rty


    谢谢兔子天使...

论坛徽章:
0
12 [报告]
发表于 2010-07-14 17:20 |只看该作者
[mgqw@localhost 9999]$ awk '{ if(!a[$1]){a[$1]=$3;print $0}; if(a[$1]!=$3&&b[$1]!=$3){b[$1]=$3; print $0} }' 1
domainA   201007091203   ipA
domainA   201007092205   ipB
domainB   201007041125   ipA
domainB   201007041525   ipD

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
13 [报告]
发表于 2010-07-14 17:25 |只看该作者
回复 7# aluoyeshi


在前面先sort一下就行了

论坛徽章:
0
14 [报告]
发表于 2010-07-14 17:33 |只看该作者
二楼版主的看起来有点蛋疼, 给他补全了好看一些
awk '!a[$1,$3]++' urfile
awk '{if(!a[$1,$3]++)print $0 }' urfile

论坛徽章:
1
双鱼座
日期:2014-08-25 19:13:11
15 [报告]
发表于 2010-07-14 17:37 |只看该作者
回复 2# waker


    学习了,还没有用两个field做索引

论坛徽章:
0
16 [报告]
发表于 2010-07-15 16:53 |只看该作者
二维数组,,学习.........

论坛徽章:
0
17 [报告]
发表于 2010-07-16 11:50 |只看该作者
执行结果,使顺序没有变动.
  1. #!/bin/awk -f
  2.   BEGIN{num=209007091203;a="domainA";c="ipA"}
  3.   {if($2<num&&a==$1&&c==$3){
  4.      num=$2;
  5.      a=$1;c=$3;
  6.    }
  7.    if(a!=$1||c!=$3){
  8.      print a,num,c;
  9.      num=209007091203;
  10.      if($2<num){
  11.       num=$2;
  12.       a=$1;c=$3;
  13.      }
  14.    }
  15.   }
  16.   END{print a,num,c}
复制代码
mgqw,你的脚本可能有误,如果针对的是如下文件呢
  1. domainA   201007091203   ipA
  2. domainA   201007091205   ipA
  3. domainA   201007091305   ipA
  4. domainA   201007092005   ipA
  5. domainA   201007092225   ipB
  6. domainA   201007092305   ipB
  7. domainB   201007041105   ipA
  8. domainB   201007041225   ipA
  9. domainB   201007041415   ipA
  10. domainB   201007041525   ipD
  11. domainB   201007041505   ipD
  12. domainC   201007041527   ipE
  13. domainC   201007041508   ipE
  14. domainC   201007041611   ipE
  15. domainC   201007041602   ipE
复制代码

论坛徽章:
0
18 [报告]
发表于 2010-07-16 11:50 |只看该作者
  1. awk '{ if(!a[$1]){a[$1]=$3;print $0}; if(a[$1]!=$3&&b[$1]!=$3){b[$1]=$3; print $0} }' file10
  2. domainA   201007091203   ipA
  3. domainA   201007092225   ipB
  4. domainB   201007041105   ipA
  5. domainB   201007041525   ipD
  6. domainC   201007041527   ipE
复制代码

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
19 [报告]
发表于 2010-07-16 12:47 |只看该作者

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
20 [报告]
发表于 2010-07-16 12:48 |只看该作者
做个FAQ吧,否则做个问题会每一个月被问一次。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP