Chinaunix首页 | 论坛 | 博客
  • 博客访问: 13845
  • 博文数量: 5
  • 博客积分: 146
  • 博客等级: 入伍新兵
  • 技术积分: 75
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-31 18:06
文章分类

全部博文(5)

文章存档

2012年(5)

我的朋友
最近访客

分类: LINUX

2012-11-08 12:09:11

3,"[ { ""id"" : 1, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10004, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10001, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10003, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10002, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10005, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10006, ""currentAmount"" : 0, ""missionStatus"" : 3 } ]"
4,"[ { ""id"" : 1, ""currentAmount"" : 1, ""missionStatus"" : 1 }, { ""id"" : 10004, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10001, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10003, ""currentAmount"" : 1, ""missionStatus"" : 3 }, { ""id"" : 10002, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10005, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10006, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 2, ""currentAmount"" : 0, ""missionStatus"" : 3 } ]"
5,"[ { ""id"" : 1, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10004, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10001, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10003, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10002, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 10005, ""currentAmount"" : 0, ""missionStatus"" : 3 }, { ""id"" : 1, ""currentAmount"" : 0, ""missionStatus"" : 3 } ]"

看每一行数据中的id的值( ""id"" : 2,  2就是id值)
否有重复,有重复就显示repeat 没有就显示no
首先声明: 我不知道这数据是什么日志 或者程序产生的, 也不知道这样的分析对不对,我只是写shell 以达到别人的需求为目的,解法如下:


点击(此处)折叠或打开

  1. awk -F'(""id"" : |,)' '{for(i=3;i<=NF;i+=4) {k+=1;a[$i]}}{print (length(a)==k)?"no":"repeat";delete a;k=0}'

也许不是最好的, 但是能马马虎虎的实现, 做个笔记,方便以后用

阅读(1237) | 评论(0) | 转发(0) |
0

上一篇:awk 简单实用一则

下一篇:没有了

给主人留下些什么吧!~~