中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 07:10
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何删除重复项
可打印版本  768 / 7
第1楼 hgx126 发表于 2010-06-09 13:15
初级用户 发帖 80 积分 100
[求助]如何删除重复项
我有多个类似文件,其中一个文件如a.txt|内容如下:

我需要将每行第5列(以“|”作为分隔符)中的数据与上一行第5列的数据作比较,如果相同,则删除该整行。其结果如下:

求大家帮我写一批处理,并说明一下原理。谢谢。
第2楼 hgx126 发表于 2010-06-09 15:49
初级用户 发帖 80 积分 100
我自己写了一个p处理,为什么第二次执行到“if not defined two goto :sk”报错:命令语法不正确。


[ Last edited by hgx126 on 2010-6-9 at 16:51 ]
第3楼 ficn 发表于 2010-06-09 16:40
初级用户 发帖 15 积分 30
@echo off
for /f "tokens=1-5* delims=|" %%a in (a.txt) do (
if not defined %%e echo %%a^|%%b^|%%c^|%%d^|%%e^|%%f&set %%e=1)
pause
第4楼 hgx126 发表于 2010-06-09 17:54
初级用户 发帖 80 积分 100
感谢ficn,请教 “if not defined %%e echo %%a^|%%b^|%%c^|%%d^|%%e^|%%f&set %%e=1)” 如何理解?特别是set %%e=1?
第5楼 hgx126 发表于 2010-06-09 18:41
初级用户 发帖 80 积分 100
另外,我把你那个加工了一下,如下,却执行错误,为何?

[ Last edited by hgx126 on 2010-6-9 at 19:36 ]
第6楼 HAT 发表于 2010-06-09 19:48
版主 发帖 5,017 积分 9,023
第7楼 hgx126 发表于 2010-06-09 22:25
初级用户 发帖 80 积分 100
HAT版主,太崇拜你了!!!
高手就是不一样,效率太高了。
HAT,爱你!
呵呵
第8楼 hgx126 发表于 2010-06-09 22:39
初级用户 发帖 80 积分 100
HAT版主,我怎么在网上没有找到gawk的这个用法的教程?能指点一下吗?

[ Last edited by hgx126 on 2010-6-13 at 20:57 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023