- 浏览: 2444702 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (574)
- Book (62)
- Architecture (6)
- Java (39)
- Taobao (41)
- Distributed (4)
- Life (72)
- Database (7)
- Spring (16)
- Photography (15)
- Bicycle (41)
- Test (20)
- jBPM (8)
- Business (12)
- Movie (3)
- Ajax (15)
- Code (7)
- Eclipse (96)
- VIM (2)
- Music (6)
- Groovy (10)
- AutoHotKey (3)
- Dorado (10)
- Maven (7)
- Scrum (5)
- English (20)
- Financial (12)
- OSGi (3)
- Other (4)
- Tool (6)
- Browser (1)
- PPT (1)
- Project Management (4)
- Agile (6)
- Nosql (1)
- Search engine (6)
- Shell (2)
- Open Source (4)
- Storm (10)
- Guava (3)
- Baby (1)
- netty (1)
- Algorithm (1)
- Linux (1)
- Python (2)
最新评论
-
roy2011a:
https://github.com/ebottabi/sto ...
storm的序列化问题及与spring的结合方式 -
roy2011a:
能抗能打 写道哥们儿,你好!能共享下那个storm与sprin ...
storm的序列化问题及与spring的结合方式 -
Alick1:
兄弟,你之前是不是在深圳的正阳公司呆过啊?
storm的ack和fail -
liuleixwd:
先点个赞,写的非常好!有个问题请教下,如果我再bolt里不用e ...
storm的ack和fail -
yao-dd:
solr的facet查询
一般用过linux脚本的都知道"awk -d"的用法: 只显示有重复数据行,每种重复行只显示其中一行.
而我的需求是希望显示所有的重复行, 而不是只是一行. 因为目前对shell脚本不是很熟练, 下面是java代码的实现,感觉比想象的复杂, 备忘一下:
而我的需求是希望显示所有的重复行, 而不是只是一行. 因为目前对shell脚本不是很熟练, 下面是java代码的实现,感觉比想象的复杂, 备忘一下:
public class ReadCardCode { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new FileReader("sort.log")); BufferedWriter writer1 = new BufferedWriter(new FileWriter("result.log")); BufferedWriter writer2 = new BufferedWriter(new FileWriter("result-2.log")); int count = 6; int i = 0; String current = null; String curItemId = null; // 将同一商品的所有记录取出放到一边, 如果这些记录大于1则说明有重复, 输出. 否则抛弃 List<String> lineList = new ArrayList<String>(10); try { while ((current = reader.readLine()) != null) { String[] curArray = current.split(" "); if (curItemId == null) { // 首行 lineList.add(current); } else { // 下一行 if (curArray[2].equals(curItemId)) { // 相同行加入列表 lineList.add(current); } else { writeLineList(writer1, writer2, lineList); // 下一轮首行 lineList.clear(); lineList.add(current); } } curItemId = curArray[2]; // if (i++ > 6) { // break; // } } writeLineList(writer1, writer2, lineList); } catch (Exception e) { e.printStackTrace(); } finally { try { writer2.close(); writer1.close(); } catch (Exception ee) { ee.printStackTrace(); } } } private static void writeLineList(BufferedWriter writer, BufferedWriter writer2, List<String> lineList) throws IOException { if (lineList.size() > 1) { // 输出前面相同行 for (String line : lineList) { write(writer, writer2, line); } } } private static void write(BufferedWriter writer, BufferedWriter writer2, String str) throws IOException { BufferedWriter w = writer; // String[] curArray = str.split(" "); // String itemId = curArray[2].replace("itemId=", ""); // long route = Long.valueOf(itemId) % 2; // if (route == 1) { // w = writer; // } else { // w = writer2; // } w.write(str); w.newLine(); w.flush(); } }
评论
2 楼
night_stalker
2010-06-08
用 stdio 更通用
调用:
gets("\0").lines.group_by{|l|l[/:.+/]}.each{|_,v|puts v if v[1]}
调用:
ruby p.rb < sort.log > result.log
1 楼
RednaxelaFX
2010-06-07
也就是说Ruby脚本的话:
open('result.log', 'w') {|f| File.readlines('sort.log').group_by {|l| l.split[2]}.each {|_, v| f << v if v.size > 1} }
发表评论
-
使用Externalization更高效的实现java对象序列化
2012-04-04 22:38 3092Externalization没用过, 它通过牺牲默认序列化的 ... -
关于java的检查异常和非检查异常
2012-04-04 21:31 4912这里有一个关于java的检查异常和非检查异常的观点, 我比较赞 ... -
使用ThreadLocal保证DateFormat线程安全
2012-04-03 06:45 3540大家都知道DateFormat是线程非安全的, 一般在多线程环 ... -
使用枚举实现一个状态机
2012-04-02 23:14 3890非常巧妙的一个使用枚举的例子.原文见这里 interface ... -
一个同步队列例子
2012-04-02 21:35 1534这个用的也比较少, 做一个参考, 原文见这里 private ... -
一个读写锁的例子
2012-04-02 21:20 1506用的比较少, 做一个参考. 原文在这里 public clas ... -
如何计算一个合适的线程池大小参数
2012-04-02 20:57 9026原文在这里 下面是一个计算的框架代码: /** * A ... -
正确使用日志的10个技巧
2012-02-11 21:13 28751做一个苦逼的Java攻城师, 我们除了关心系统的架构这种hig ... -
Java编程最差实践
2012-02-04 17:54 26430原文地址:http://www.odi.ch/prog/des ... -
利用jOOR简化Java 反射使用
2012-01-15 20:39 5088原文:http://lukaseder.wordpress.c ... -
《Java Performance》书评
2012-01-15 18:32 2921原文: http://java.dzone.com/rev ... -
《细说Java》读书笔记
2011-10-05 15:01 1949国人写的, 感觉是一 ... -
《Java开发超级工具集》读书笔记
2011-09-28 08:59 2071"工欲善其事必先利其器", 在平时的开发 ... -
《effective java》 读书笔记
2011-07-02 14:52 7566读第一版已经是好几年前的事儿了, 现在想起来也没什么印象, ... -
关于方法返回值的两种处理模式
2010-05-13 09:06 1980目前在处理返回值方面, ... -
JVM调优汇总
2010-02-21 19:18 14377参考网址 http://pengjiaheng.spaces. ... -
log4j的输出转换模式
2009-12-12 10:02 1232转换模式(conversion pattern)为" ... -
java正则表达式用法举例
2009-12-08 11:27 4473java正则表达式真难用啊, 这里整理一个java正则表达式用 ... -
Ibatis TypeHandler使用总结
2009-11-25 19:33 16507ibatis中有一个TypeHandler(准确的说应该是Ty ... -
ibatis参数传递小技巧
2009-10-30 14:21 3886使用ibatis操作数据库的时候, 如果这个操作需要一些参数, ...
相关推荐
AWK-4121系列室外无线AP/网桥/客户端为工业应用提供了理想的 3合1无线解决方案,适用于不便接线、布线成本昂贵或使用移动 TCP/IP网络连接设备的场合
MOXA_AWK-3121配置方法及要点说明
Moxa AWK-3131A 三合一工业级无线AP/Bridge/Client 支 持IEEE 802.11n 技术,数据传输率高达300Mbps,满足了 不断增长的快速数据传输和信号覆盖范围更广泛的要求。 AWK-3131A 符合各种工业标准,包括工作温度、输入...
你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。awk是什么?与其它大多数UNIX命令不同的是,从名字上看,我们不可能知道awk的功能:它既不是...
awk-思维导图
MOXA_AWK-3121 配置方法及要点说明.pdf 挺好的,详细
Vim-101-hacks、Sed-and-Awk-101-Hacks、Linux-101-hacks 英文版(高清)PDF
linux-awk-完全手册范本.doc
AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首 字符。
3D-awk-raycaster.zip,用光线投射技术完全用gawk编写的伪三维射手,3D建模使用专门的软件来创建物理对象的数字模型。它是3D计算机图形的一个方面,用于视频游戏,3D打印和VR,以及其他应用程序。
The book begins with an overview and a tutorial that demonstrate a progression in functionality from grep to sed to awk. sed and awk share a similar command-line syntax, accepting user instructions in...
awk培训资料,可以学习一下linux强大的awk,我是从使用sql的方式整理的,例如:如何条件查询,如何去重复,如何对结果进行分组等
背景awk是处理文本文件的一个应用程序,几乎所有 Linux 系统都自带这个程序。它依次处理文件的每一行,并读取里面的每一个字段。对于日志、CSV 那样的每行格
让我们来挑战一下 awk 和其他实现。 在这里报告为原始问题来自 鉴于此脚本创建的 1000 万行输入文件: $ awk 'BEGIN{for (i=1;i<=10000000;i++) print (i%5?"miss":"hit"),i," third\t \tfourth"}' > file $ ...
网络仿真软件ns2的一个脚本文件,分析仿真结果的代码!
示例(请参见run.sh): javac Add.java && hexdump -v -e '/1 "u "' Add.class | awk -f jvm.awk javac Add.java && hexdump -v -e '/1 "u "' Add.class | awk -f jvm.awk 它能做什么? 不是很多(例如,调用方法...
详细介绍了linux下awk的使用方法,并附有典型例子。
这是一个关于NS AWK的分析文件,包括一些参数的分析,例如丢包、延迟、抖动。
linux-awk.doc
awk script to calculate from ns2 trace file