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

[文本处理] 【已解决】如何根据两个文件共有的字段批量提取文本行

[复制链接]
发表于 2015-12-10 11:29:24 | 显示全部楼层 |阅读模式
现有我已有一组数据为data.txt,想根据data中的数据筛选出combine.txt 中有data里数据的行

例如:
data.txt:
ID                             Index

CID000002160        11
CID000002162        12
CID000002244        13
CID000002249        14
CID000002267        15
CID000002405        16

combine.txt:
ID:                           ID:
CID000002118        CID000000896
CID000002249        CID000002162
CID000002315        CID000002249
CID000002481        CID000001983
CID000002540        CID000002162
CID000002576        CID000002244

根据上面的数据,可以看到只有红色加粗行满足两个在data中都存在的要求,我希望得到的结果:
ID:                           Index    ID:                         Index   
CID000002249        13        CID000002162       12
....



跪求帮助~非常感谢!!!
发表于 2015-12-10 14:26:23 | 显示全部楼层
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. for /f "tokens=1-2 delims=        " %%a in (data.txt) do set #%%a=%%b
  4. for /f "tokens=1-2 delims=        " %%c in (combine.txt) do (
  5.   if defined #%%c if defined #%%d echo.%%c !#%%c! %%d !#%%d!
  6. )
复制代码
 楼主| 发表于 2015-12-10 14:30:27 | 显示全部楼层
回复 2# flyinnet9

你好~代码我试了~感觉没有输出~是什么问题呢?谢谢啦
发表于 2015-12-10 14:36:43 | 显示全部楼层
什么叫没有输出??
发表于 2015-12-10 14:46:26 | 显示全部楼层
回复 2# flyinnet9


   "tokens=1-2 delims=        "可简成"tokens=1*"
 楼主| 发表于 2015-12-10 14:53:32 | 显示全部楼层
回复 4# flyinnet9
就是程序运行后没有结果。。。。
 楼主| 发表于 2015-12-10 14:54:09 | 显示全部楼层
回复 5# pcl_test

大神,为什么程序运行后没有结果~求解~非常感谢
发表于 2015-12-10 14:57:02 | 显示全部楼层
回复 7# sweet惜缘

在最后面加一行pause或者输出到文件……echo.%%c !#%%c! %%d !#%%d! >>结果.txt
 楼主| 发表于 2015-12-10 15:10:56 | 显示全部楼层
回复 8# pcl_test

看到了 感谢!
 楼主| 发表于 2015-12-10 15:11:19 | 显示全部楼层
回复 4# flyinnet9


    看到了,感谢!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 10:24 , Processed in 0.028504 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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