忘记密码   免费注册 查看新帖 | 论坛精华区
ChinaUnix.net
  平台论坛 博客 微博 读书 人才 精华 文库 自测 | 频道操作系统 开发 数据库 存储 服务器 网络 IT新闻 Linux 下载 Power用户组
最近访问板块 发新帖
查看: 3394 | 回复: 22

请教:vi中怎么去除重复行? [复制链接]
更多

帖子
22
主题
2
精华
0
可用积分
29
专家积分
0
在线时间
25 小时
注册时间
2006-05-30
最后登录
2011-10-13
论坛徽章:
0
发表于 2008-11-19 15:03:26 |显示全部楼层
vi中怎么去除重复行,类似oracle中的select distinct col1 from test_table;

数据内容如下:
$ vi file.txt
a
a
b
a
b
a
b
b
c
c
a
c
~                                                                                                                                   
~                                                                                                                                   
~                                                                                                                                   
"file.txt" 12L, 24C     

想要处理完成之后的效果是:
$ vi file.txt
a
b
c
~                                                                                                                                   
~                                                                                                                                   
~                                                                                                                                   
"file.txt" 12L, 24C  


重复的数据行可能连续和不连续。

请数据vi编辑器的同学帮个忙。

Rank: 7Rank: 7Rank: 7

帖子
11378
主题
90
精华
0
可用积分
16388
专家积分
369
在线时间
4706 小时
注册时间
2007-10-22
最后登录
2012-02-09
论坛徽章:
0
发表于 2008-11-19 15:09:00 |显示全部楼层

回复 #1 secooler 的帖子

使用外部命令:%!sort -u

LIVE FREE OR DIE!     K.I.S.S.  DRY




远离                                                                                                                                                                       shell

帖子
22
主题
2
精华
0
可用积分
29
专家积分
0
在线时间
25 小时
注册时间
2006-05-30
最后登录
2011-10-13
论坛徽章:
0
发表于 2008-11-19 15:16:12 |显示全部楼层
原帖由 blackold 于 2008-11-19 15:09 发表
使用外部命令:%!sort -u



谢谢您的方法,完全没有问题,能够非常完美的完成我的需求,不过我要是使用的是gvim在windows环境下操作的,怎么处理呢?
感觉vi本身的命令行的功能应该能够完成这样的任务。
仍然非常感谢您的方法。

Rank: 7Rank: 7Rank: 7

帖子
11378
主题
90
精华
0
可用积分
16388
专家积分
369
在线时间
4706 小时
注册时间
2007-10-22
最后登录
2012-02-09
论坛徽章:
0
发表于 2008-11-19 15:17:57 |显示全部楼层

回复 #3 secooler 的帖子

vim应该有自带方法,自己看看。找到了你告诉我。

我找到了也告诉你。^_^

LIVE FREE OR DIE!     K.I.S.S.  DRY




远离                                                                                                                                                                       shell

Rank: 8Rank: 8

帖子
3858
主题
2
精华
0
可用积分
20938
专家积分
396
在线时间
6194 小时
注册时间
2003-08-29
最后登录
2012-02-07
论坛徽章:
0
发表于 2008-11-19 15:21:10 |显示全部楼层
看看有没有:sort u
我这里有
天行健,君子以自强不息
发奋忘食,乐以忘优,不知老之将至
温故而知新
大懒虫

Rank: 3Rank: 3

帖子
2825
主题
54
精华
0
可用积分
2574
专家积分
0
在线时间
208 小时
注册时间
2007-12-11
最后登录
2009-07-03
论坛徽章:
0
发表于 2008-11-19 15:23:56 |显示全部楼层
我也来学学

帖子
22
主题
2
精华
0
可用积分
29
专家积分
0
在线时间
25 小时
注册时间
2006-05-30
最后登录
2011-10-13
论坛徽章:
0
发表于 2008-11-19 15:26:24 |显示全部楼层
原帖由 ynchnluiti 于 2008-11-19 15:21 发表
看看有没有:sort u
我这里有



OK,在我的gvim中也试验成功了,有这样的功能,感谢ing。
到目前为止这个问题基本是有方法处理了。
不过我还在寻找不使用外部命令和特有的命令,而只使用vi的正则表达式和放之四海而皆准的方法来处理这个问题。

我再找寻一下,大家也帮忙lou一下,有的话请share。3x
( ̄ε ̄メ)

Rank: 5Rank: 5

帖子
1033
主题
30
精华
0
可用积分
6323
专家积分
65
在线时间
481 小时
注册时间
2008-10-24
最后登录
2010-06-15
论坛徽章:
0
发表于 2008-11-19 15:29:57 |显示全部楼层
google  最佳vim技巧

不知道有没有你要的
暮春三月,羊欢草长,
天寒地冻,问谁饲狼?
人心怜羊,狼心独怆,
天心难测,世情如霜。
----------------------------------

帖子
93
主题
1
精华
0
可用积分
192
专家积分
0
在线时间
45 小时
注册时间
2005-02-15
最后登录
2009-07-02
论坛徽章:
0
发表于 2008-11-19 15:40:06 |显示全部楼层
:%!sort -u

帖子
93
主题
1
精华
0
可用积分
192
专家积分
0
在线时间
45 小时
注册时间
2005-02-15
最后登录
2009-07-02
论坛徽章:
0
发表于 2008-11-19 15:41:18 |显示全部楼层
在windows下装个cygwin
您需要登录后才可以回帖 登录 | 注册

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP