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

[文本处理] [已解决]批处理如何合并同类项并按照编号大小排序?

[复制链接]
发表于 2015-12-5 16:50:53 | 显示全部楼层 |阅读模式
如下所示,第一列为编号,第二列为值,可以看到第一行和第二行编号一样,但值不同。我想经过批处理得到的数据为合并编号一样的值,并按编号从小到大排序。

原数据:
CID000028871        M01AB10
CID000028871        M02AA14
CID000002369        C07AB05
CID000002369        S01ED02
CID000002194        A16AX02
CID000042113        N01AB07
CID000017676        N05AB07
CID000031477        S01ED04
CID006918558        G04BD11
CID000002202        D05AC01
CID000041049        N02AX05
CID005462337        A07EC03
经过批处理后想得到的:

CID000002194        A16AX02
CID000002202        D05AC01
CID000002369        C07AB05,S01ED02
CID000017676        N05AB07
CID000028871        M01AB10,M02AA14
CID000031477        S01ED04
CID000041049        N02AX05
CID000042113        N01AB07
CID005462337        A07EC03
CID006918558        G04BD11


程序应该如何编写?跪求大神解答
发表于 2015-12-5 17:13:47 | 显示全部楼层
本帖最后由 pcl_test 于 2015-12-5 17:23 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1*" %%a in (data.txt) do (
  4.     if not defined #%%a (set #%%a=%%b) else set #%%a=!#%%a!,%%b
  5. )
  6. (for /f "tokens=1* delims=#=" %%a in ('set #') do echo;%%a %%b)>new_data.txt
  7. pause
复制代码
 楼主| 发表于 2015-12-5 17:55:44 | 显示全部楼层
回复 2# pcl_test

大神~刚运行了一下您的程序,结果出来了,但是现在有个问题,我发现我最后要的数据编号并不是由小到大的,其实是无规律的,如何按照我附件上传的顺序将其重新排序呢?非常感谢!


您会发现sequence文件很小,因为运行您的程序的得到的new_data是全部数据,其实我只需要其中一部分数据,就是sequence里出现编号的数据。
发表于 2015-12-5 18:05:39 | 显示全部楼层
回复 3# sweet惜缘
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1*" %%a in (data.txt) do (
  4.     if not defined #%%a (set #%%a=%%b) else set #%%a=!#%%a!,%%b
  5. )
  6. (for /f %%a in (sequence.txt) do echo;%%a !#%%a!)>new_data.txt
  7. pause
复制代码
 楼主| 发表于 2015-12-5 18:11:38 | 显示全部楼层
回复 4# pcl_test

有效!非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 06:55 , Processed in 0.014911 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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