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

[文本处理] [已解决]批处理如何根据一个txt文本的行内容查找统计另一个txt文本相同行的行数?

本帖最后由 pcl_test 于 2016-7-11 10:32 编辑

a.txt
  1. 05 06 07 08 10 11
  2. 05 06 07 08 10 12
  3. 05 06 07 08 10 13
  4. 05 06 07 08 10 14
  5. 05 06 07 08 10 15
  6. 01 02 03 04 05 15
  7. 01 02 03 04 05 16
  8. 01 02 03 04 05 17
  9. 01 02 03 04 05 18
  10. 01 02 03 04 05 19
  11. 01 02 03 04 05 20
  12. 01 02 03 04 05 21
复制代码
b.txt
  1. 05 06 07 08 09
  2. 05 06 07 08 10
  3. 06 07 08 09 25
  4. 06 07 08 09 26
复制代码
  1. @echo off
  2. for /f "tokens=1-5 delims= " %%a in (b.txt) do (
  3.     set a=%%a
  4.     set b=%%b
  5.     set c=%%c
  6.     set d=%%d
  7.     set e=%%e
  8.    
  9.     setlocal enabledelayedexpansion
  10.     echo !a! !b! !c! !d! !e!
  11.    
  12.     findstr /c:"%%a" a.txt|findstr /c:"%%b"|findstr /c:"%%c"|findstr /c:"%%d"|findstr /c:"%%e">>次数.txt
  13.         
  14.     endlocal
  15. )
  16. pause
复制代码
这个代码怎么统计查找处理后的文本行数并添加到%%a读取的那行数的后边

以顶楼数据为例,希望得到的结果是什么?

TOP

回复 2# DAIC


01 02 03 04 05  18

05 06 07 08 09  11

05 06 07 08 10  7

06 07 08 09 25  2

06 07 08 09 26  2

TOP

回复 3# web


    为什么是18呢?

TOP

回复 4# DAIC


    不好意思随便写的  结果是处理后的行数就行

TOP

回复 5# web


    不要随便写。就用顶楼的数据写。

TOP

本帖最后由 web 于 2014-3-26 22:28 编辑

回复 6# DAIC


05 06 07 08 10  =5
01 02 03 04 05  =7
02 03 04 05 15  =1
06 07 08 10 15  =1
重新改了一下 b文件数字  =后边的是结果
根据循环处理5个数字得到的符合项也就是在a文件里都包含这5个数的行总共有多少、、
目地就是要%%a每处理一行查找得到的结果有几个/几行吧这个结果 加在后边

TOP

本帖最后由 terse 于 2014-3-27 00:44 编辑
  1. @echo off
  2. (for /f "tokens=*" %%a in (b.txt) do (
  3.     for /f "tokens=1* delims=:" %%i in ('find /c "%%a" a.txt') do echo %%a =%%j
  4. ))>次数.txt
  5. pause
复制代码
1

评分人数

    • web: 谢谢 搞定 非常棒技术 + 1

TOP

返回列表