Board logo

标题: [文本处理] [已解决]批处理如何统计txt文本每一行出现的次数 [打印本页]

作者: qzwifi    时间: 2015-5-30 12:06     标题: [已解决]批处理如何统计txt文本每一行出现的次数

本帖最后由 pcl_test 于 2016-10-14 13:30 编辑

例:

a.txt 文本内容:

01 02 03 04
02 03 04 05
03 04 05 06
03 04 05 06
01 02 03 04

以上行数据有重复,求计算出每一行出现的次数。保存为:

b.txt

01 02 03 04=2
02 03 04 05=1
03 04 05 06=2

注:由于需要处理的数据非常大(有1G),所以希望能处理速度快一些的。
作者: pcl_test    时间: 2015-5-30 12:34

善用论坛搜索
http://www.bathome.net/viewthread.php?tid=35705
作者: qzwifi    时间: 2015-5-30 13:13

本帖最后由 qzwifi 于 2015-5-30 13:22 编辑

sort "测试.txt"|gawk "{a[$0]++}END{for (b in a)print b,a}">"结果.txt"

pcl_test 大哥以上是您之前写过的代码,用gawk的速度会快些所以我想用这个。
但现在有个小问题能否修改下以上代码,将得出的结果加一个等于号。

如:
01 02 03 04=2
02 03 04 05=1
03 04 05 06=2
作者: pcl_test    时间: 2015-5-30 13:55

回复 3# qzwifi


输出部分改为
  1. print b,\"=\",a[b]
复制代码

作者: qzwifi    时间: 2015-5-30 14:00

回复 4# pcl_test


    已OK,谢谢!
作者: pcl_test    时间: 2016-10-14 13:36

  1. rem win7以上系统运行
  2. powershell -c "gc '测试.txt'|group|%%{$_.name+'='+$_.count}"&pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2