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

[文本处理] 批处理如何去重多个文件呢

[复制链接]
发表于 2021-5-21 22:05:06 | 显示全部楼层 |阅读模式
  1. @echo off
  2. set /p=<nul>2.txt
  3. rem创建2.txt
  4. for /f "delims=" %%i in (1.txt) do (
  5. rem读取1.txt,一次读一行
  6. findstr "%%i" "2.txt">nul||echo %%i>>2.txt
  7. rem第一次循环时,在2.txt中找1.txt的第一行,不存在就把1.txt的第一行输入2.txt
  8. rem第二次循环时,在2.txt中找1.txt的第二行,不存在就把1.txt的第一行输入2.txt
  9. rem以此类推
  10. rem那两条竖杠是主要的,作用是左边执行成功就不执行右边,左边没执行成功就执行右边
  11. )
  12. pause
复制代码
上面是单文件去重的,同时去重文件夹下的所有txt文件改如何写呢
发表于 2021-5-21 22:50:15 | 显示全部楼层
发表于 2021-5-21 23:35:50 | 显示全部楼层
本帖最后由 newswan 于 2021-5-21 23:37 编辑

多文件去重,意思是
1、每个文件没有重复的
2、所有文件没有重复的

单文件用 gnu 命令
sort 1.txt | uniq > _1.txt
发表于 2021-5-22 13:29:32 | 显示全部楼层
没有重复的?
发表于 2021-5-22 22:19:44 | 显示全部楼层
三方工具版块下载:gawk.exe
  1. gawk "{if(!a[$0]){print $0;a[$0]++}}" 2.txt 1.txt
复制代码
发表于 2021-5-27 10:34:38 | 显示全部楼层
DoubleKiller
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 15:59 , Processed in 0.021649 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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