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

[文本处理] [已解决]批处理比对两个文本文件出错了,求助问题出在那?

[复制链接]
发表于 2023-9-2 14:09:24 | 显示全部楼层 |阅读模式
曾经在之前的贴子中,求助过比对两个文本文件中不同名称的行,一直用着没有问题。只前的贴子:http://www.bathome.net/viewthread.php?tid=66449&highlight=
但是我今天再比对,两个文本文件的时候,就发现出错了,比对不出来,明明有7行是不同的,但就是找不出来,我手工找了4个出来,高手帮我看看问题出在那里,我全部打包上传到附近中去。

附件下载:
https://netcut.cn/api/file/downl ... nfizs22xzsu8s5c5tr1

评分

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

查看全部评分

发表于 2023-9-2 15:02:53 | 显示全部楼层
回复 1# thp2008

  1. gawk "NR==FNR{if(!($0 in T)){a[++i]=$0;T[$0]=1}next}!($0 in T){a[++i]=$0;T[$0]=2;next}$0 in T{if(T[$0]==1){T[$0]=3}}END{for(j=0;j++<i;){if(0+T[a[j]]<3){print a[j]}}}" Full.txt BiDui.txt>out.txt
复制代码
结果(out.txt)

  1. 棕颈鸭
  2. 丑鸭
  3. 弗氏鸥
  4. 黑顶林莺
  5. 灰翅鸥
  6. 梯氏鸫
  7. 细纹苇莺
复制代码
不知道是否满足要求?

另简版(特例:BiDui.txt 是 Full.txt 的子集时):

  1. gawk "NR==FNR{a[$0]++;next}!a[$0]++" BiDui.txt Full.txt>out.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
thp2008 + 1 感谢!可以

查看全部评分

发表于 2023-9-2 15:20:24 | 显示全部楼层
写反了吧,两个文本。
  1. @echo off
  2. mode con cols=60 lines=41
  3. chcp 65001
  4. set "file1=1.txt"
  5. set "file2=2.txt"
  6. call :1 "%file1%" "%file2%"
  7. call :1 "%file2%" "%file1%"
  8. pause>nul & exit

  9.         :1
  10.         setlocal
  11.         set n=0
  12.         echo 以下字符串 仅在 %~2 中存在
  13.         for /f "usebackq delims=" %%a in ("%~1") do (
  14.                         set _"%%a"=1
  15.         )
  16.         for /f "usebackq delims=" %%a in ("%~2") do (
  17.                         if not defined _"%%a" (
  18.                                         echo %%a
  19.                                         set /a n+=1
  20.                         )
  21.         )
  22.         echo Total number of bird species: %n%
  23.         echo=&echo=
  24.         endlocal
复制代码

评分

参与人数 1技术 +1 收起 理由
thp2008 + 1 你这样写,运行成功,感谢

查看全部评分

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

本版积分规则

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

GMT+8, 2026-3-18 14:26 , Processed in 0.017824 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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