找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25224|回复: 5

[文本处理] [已解决]批处理如何统计txt文本每一行出现的次数

[复制链接]
发表于 2015-5-30 12:06:33 | 显示全部楼层 |阅读模式
本帖最后由 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),所以希望能处理速度快一些的。
发表于 2015-5-30 12:34:13 | 显示全部楼层
 楼主| 发表于 2015-5-30 13:13:41 | 显示全部楼层
本帖最后由 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
发表于 2015-5-30 13:55:36 | 显示全部楼层
回复 3# qzwifi


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

评分

参与人数 1技术 +1 收起 理由
qzwifi + 1 ok

查看全部评分

 楼主| 发表于 2015-5-30 14:00:59 | 显示全部楼层
回复 4# pcl_test


    已OK,谢谢!
发表于 2016-10-14 13:36:08 | 显示全部楼层
  1. rem win7以上系统运行
  2. powershell -c "gc '测试.txt'|group|%%{$_.name+'='+$_.count}"&pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 23:18 , Processed in 0.032103 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表