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

[文本处理] 批处理能否去除文本重复的行

[复制链接]
发表于 2021-1-14 14:01:45 | 显示全部楼层 |阅读模式
本帖最后由 netdzb 于 2021-1-14 14:08 编辑

原始文本如下,

BOB 123 1DB
JIM 456 3DB AX
DAVE 789 1DB
BOB 123 1DB
JIM 456 3DB AX
DAVE 789 1DB
BOB 123 1DB EXTRA BITS

--------------

这个使用awk是可以做到的,批处理能否实现去掉重复的文本行?

---------------------------

下面是我在csdn搜索到的代码,下面的cd.>B.txt是什么意思啊?

@echo off
cd.>B.txt
for /f "delims=" %%i in (A.txt) do (
find /i "%%i" B.txt||echo %%i>>B.txt
)
发表于 2021-1-14 14:09:02 | 显示全部楼层
回复 1# netdzb
发表于 2021-1-14 14:10:48 | 显示全部楼层
回复 1# netdzb
创建空文件
 楼主| 发表于 2021-1-14 14:11:30 | 显示全部楼层
回复 2# qixiaobin0715

不用搜了自己试了一下,原来相当于linux的touch。那4行的代码,我还是有一行没有看懂啊。
 楼主| 发表于 2021-1-14 14:13:14 | 显示全部楼层
回复 3# qixiaobin0715

我基础还是有点薄弱啊,还有一行没有看懂。

find /i "%%i" B.txt||echo %%i>>B.txt

||是代表或者的意思吗?
还是管道输出?
发表于 2021-1-14 14:16:12 | 显示全部楼层
意思是将a.txt一行一行的写入b.txt,如果不存在相同内容就写入,否则就忽略。
发表于 2021-1-14 14:20:13 | 显示全部楼层
回复 5# netdzb
前一个命令失败就执行后一个命令,否则就不执行。
 楼主| 发表于 2021-1-14 14:22:32 | 显示全部楼层
回复 7# qixiaobin0715

能换个容易看懂的写法吗?
我差点理解成为
find /i "%%i" B.txt|echo %%i>>B.txt
发表于 2021-1-14 14:24:06 | 显示全部楼层
论坛里搜一搜,应当有很多选择
 楼主| 发表于 2021-1-14 14:27:04 | 显示全部楼层
回复 9# qixiaobin0715

@echo off
cd.>B.txt
for /f "delims=" %%i in (b.txt) do (
find /i "%%i" a.txt|echo %%i>>B.txt
)

我修改成这样,可以完成去重的功能吗?
发表于 2021-1-14 14:29:13 | 显示全部楼层
好像不行,要有判断是否有重复行
发表于 2021-1-14 14:30:37 | 显示全部楼层
开始b.txt为空,就循环不起来了
发表于 2021-1-14 14:36:45 | 显示全部楼层
回复 5# netdzb


    你学习Linux脚本的时候也没有搞清楚 || 的用法吗?它在Linux和Windows里面的作用是一样的。
发表于 2021-1-14 14:38:34 | 显示全部楼层
回复 1# netdzb


批处理创建0字节的空文件
http://bbs.bathome.net/thread-939-4-1.html#pid49298
发表于 2021-1-14 14:40:10 | 显示全部楼层
回复 1# netdzb


批处理如何删除文本文件中重复的行
http://bbs.bathome.net/thread-5219-1-1.html

批处理如何删除txt文本中的重复行
http://bbs.bathome.net/thread-5509-1-1.html

批处理去除超大文本中的重复行
http://bbs.bathome.net/thread-4690-1-1.html

批处理删除文本重复行时如何使用变量延迟扩展
http://bbs.bathome.net/thread-5326-1-1.html

批处理中sort命令如何过滤重复行
http://bbs.bathome.net/thread-4896-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 10:03 , Processed in 0.019845 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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