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

[文本处理] 【已解决】批处理如何实现多文本统计总个数并排序?

[复制链接]
发表于 2013-5-18 15:02:14 | 显示全部楼层 |阅读模式
本帖最后由 思想之翼 于 2013-5-19 23:06 编辑

有若干txt文本,每个文本数据格式为:数据+个数,比如下面1个文本数据是:
1 23
9 23
0 22
3 22
4 22
5 22
8 22
6 22
2 21
7 20
其表示数据1有23个,数据9有23个,数据0有22个......
现在欲将若干txt文本中数据汇总,统计各个数据的总个数,并按总个数从多到少进行排序,结果写入新建的txt文本,数据格式为:
7  102
5  99
4  87
...

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-5-18 16:12:34 | 显示全部楼层
本帖最后由 xxpinqz 于 2013-5-18 16:28 编辑

  1. @echo off&setlocal enabledelayedexpansion
  2. for %%a in (*.txt) do (
  3.   for /f "tokens=1,2 delims= " %%i in (%%a) do (
  4.     set /a #%%i+=%%j
  5.   )
  6. )
  7. for /f "tokens=1,2 delims==#" %%a in ('set #') do (
  8.    set "num=//////////%%b"
  9.    set "$!num:~-10!=%%a"
  10. )
  11. (for /f "tokens=1,2 delims==$/" %%a in ('set $^|sort /+1000') do echo %%b %%a)>ok.txt
  12. start ok.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 乐于助人

查看全部评分

 楼主| 发表于 2013-5-18 17:30:36 | 显示全部楼层
回复 2# xxpinqz

谢谢帮助,代码运行完美正确。
 楼主| 发表于 2013-6-17 11:31:41 | 显示全部楼层
回复 2# xxpinqz

您写的代码运用中发现问题:
比如2个txt文本,数据均为
1 23
9 23
0 22
3 22
4 22
5 22
8 22
6 22
2 21
7 20,
统计总个数,应该为
1 46
9 46
0 44
3 44
4 44
5 44
8 44
6 44
2 42
7 40
但是,运用您的代码,却得不到这样的结果。问题出在哪?恳望再次得到您的帮助!
发表于 2013-6-17 12:17:27 | 显示全部楼层

  1. @echo off&setlocal enabledelayedexpansion
  2. for %%a in (*.txt) do (
  3.   for /f "tokens=1,2 delims= " %%i in (%%a) do (
  4.     set /a #%%i+=%%j
  5.   )
  6. )
  7. for /f "tokens=1,2 delims==#" %%a in ('set #') do (
  8.    set /a r=!random!+10000
  9.    set "num=/////%%b/!r!"
  10.    set "$!num:~-12!=%%a"
  11. )
  12. (for /f "tokens=1,3 delims=$=/" %%a in ('set $^|sort /+1000') do echo %%b %%a)>ok.txt
  13. start ok.txt
复制代码
是值相同时出错了,加个随机数。

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 谢谢帮助

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 11:20 , Processed in 0.020101 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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