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

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

本帖最后由 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
)

还是放弃每行find 效率太低 你开始定义行 然后判断是否定义 效率上升不是 一点哦

TOP

回复 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
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1# netdzb


批处理创建0字节的空文件
http://bbs.bathome.net/thread-939-4-1.html#pid49298
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# netdzb


    你学习Linux脚本的时候也没有搞清楚 || 的用法吗?它在Linux和Windows里面的作用是一样的。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

开始b.txt为空,就循环不起来了

TOP

好像不行,要有判断是否有重复行

TOP

回复 9# qixiaobin0715

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

我修改成这样,可以完成去重的功能吗?

TOP

论坛里搜一搜,应当有很多选择

TOP

回复 7# qixiaobin0715

能换个容易看懂的写法吗?
我差点理解成为
find /i "%%i" B.txt|echo %%i>>B.txt

TOP

回复 5# netdzb
前一个命令失败就执行后一个命令,否则就不执行。

TOP

意思是将a.txt一行一行的写入b.txt,如果不存在相同内容就写入,否则就忽略。

TOP

回复 3# qixiaobin0715

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

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

||是代表或者的意思吗?
还是管道输出?

TOP

回复 2# qixiaobin0715

不用搜了自己试了一下,原来相当于linux的touch。那4行的代码,我还是有一行没有看懂啊。

TOP

回复 1# netdzb
创建空文件

TOP

返回列表