中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请问如何用批处理删掉所有重复行!
« [1] [2] »
作者:
标题: 请问如何用批处理删掉所有重复行! 上一主题 | 下一主题
yohaa
新手上路





积分 10
发帖 4
注册 2007-4-21
状态 离线
『楼 主』:  请问如何用批处理删掉所有重复行!

请问有没有人知道怎样删掉文本文件中的所有的重复行,只留下非重行,例如:
一个文本文件中含有下面几行:
a
a
b
c
d
现在我相删掉重复的a, 只留下没有重复的b c d, 用批处理能做到么?

谢谢大家啦!

2007-4-21 02:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 2 楼』:  

cd.>dst.txt&&for /f "delims=" %i in (src.txt) do findstr /b /e "%i" dst.txt||echo %i>>dst.txt

2007-4-21 02:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 3 楼』:  

cd.>dst.txt
这句话有什么用呢???



知,不觉多。不知,乃求知
2007-4-21 03:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 4 楼』:  

我是怕find过程中,第一次会不能正常执行

2007-4-21 04:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 5 楼』:  

嗯,那我明白了。。



知,不觉多。不知,乃求知
2007-4-21 04:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 6 楼』:  

其实也没达到楼主要求,我这会才看明白楼主要求什么

2007-4-21 04:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 7 楼』:  

呵呵,这个用两个for循环是最好的处理方式了。



知,不觉多。不知,乃求知
2007-4-21 04:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 8 楼』:  

楼主要将重复的行全删掉,一个也不保留

2007-4-21 04:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yohaa
新手上路





积分 10
发帖 4
注册 2007-4-21
状态 离线
『第 9 楼』:  

请问兄台,怎么个用法呢,为了这个问题,我这两天头都搞大啦,

2007-4-21 04:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yohaa
新手上路





积分 10
发帖 4
注册 2007-4-21
状态 离线
『第 10 楼』:  

『第 9 楼』:  

请问7楼兄台,怎么个用法呢,为了这个问题,我这两天头都搞大啦,  另外谢谢everest79
的热情帮忙!

2007-4-21 04:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 11 楼』:  

我的这个只能将重复的行删掉

a
a
b
c
d

a
b
c
d
并不能
a
a
b
c
d

b
c
d
src.txt是你原来的文本,执行完后dst.txt是过滤后的文本,将cmd切换到保存src.txt的目录下,再执行上边一行

2007-4-21 04:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 12 楼』:  

namejm 版主以前写过一个完全符合楼主要求的代码,搜下吧。

2007-4-21 04:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yohaa
新手上路





积分 10
发帖 4
注册 2007-4-21
状态 离线
『第 13 楼』:  

另外运行了二楼兄弟的命令,也像一个重复的也删不了,运行完了还是
a
a
b
c
d

2007-4-21 04:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 14 楼』:  

仔细想想,我试了,没问题,你看那做错没有

2007-4-21 04:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 15 楼』:  

那定义一个.ini文件就可以达到要求了。。

.ini 里是删除的东西。。

然后依然是两个for循环。



知,不觉多。不知,乃求知
2007-4-21 06:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: