[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

现有我已有一组数据为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
....



跪求帮助~非常感谢!!!

  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. )
复制代码

TOP

回复 2# flyinnet9

你好~代码我试了~感觉没有输出~是什么问题呢?谢谢啦

TOP

什么叫没有输出??

TOP

回复 2# flyinnet9


   "tokens=1-2 delims=        "可简成"tokens=1*"

TOP

回复 4# flyinnet9
就是程序运行后没有结果。。。。

TOP

回复 5# pcl_test

大神,为什么程序运行后没有结果~求解~非常感谢

TOP

回复 7# sweet惜缘

在最后面加一行pause或者输出到文件……echo.%%c !#%%c! %%d !#%%d! >>结果.txt

TOP

回复 8# pcl_test

看到了 感谢!

TOP

回复 4# flyinnet9


    看到了,感谢!!!

TOP

返回列表