BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 



怎样删除某列中重复的字符串? 谢谢
首页 » 论坛 » Shell »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
BlueBlack
侠客




CU编号: 747557
注册:2008-8-18
最后登录: 2009-06-22
帖子:42
精华:0

可用积分:69 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


1楼 发表于 2009-1-6 14:50 

有很多行
其中第二列是IP列表,各IP是以','分开的,想干掉重复的IP,怎么做,谢谢了

例如
10.1.2.3,10.1.2.3,10.1.2.3,10.2.3.4,10.2.3.4,10.2.3.4,172.23.2.34,172.23.2.34,172.23.2.34
10.1.2.4,10.1.2.4,10.2.3.78,10.2.3.78,172.23.12.35,172.23.12.35
10.2.1.65,10.2.1.65,10.7.8.79,10.7.8.79

处理后变成这样:
10.1.2.3,10.2.3.4,172.23.2.34
10.1.2.4,10.2.3.78,172.23.12.35
10.2.1.65,10.7.8.79



您对本贴的看法:鲜花[0] 臭蛋[0]
ly5066113   帅哥 (Tim)
法师


CU奥运火炬传递手2008
CU编号: 465018
注册:2006-9-13
最后登录: 2009-07-03
帖子:5298
精华:0

可用积分:22062 (巨富豪门)
信誉积分:120
专家积分:617 (本版:566)
空间积分:0
推广积分:132

来自:长春
状态:...离线...

[个人空间] [短信] [博客]


2楼 发表于 2009-1-6 15:30 

sed -r ':a;s/([0-9]+(\.[0-9]+){3})(.*),\1/\1\3/;ta' urfile



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的。
BlueBlack
侠客




CU编号: 747557
注册:2008-8-18
最后登录: 2009-06-22
帖子:42
精华:0

可用积分:69 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


3楼 发表于 2009-1-6 15:35 

回复 #2 ly5066113 的帖子

谢谢了
能讲解下不,看不懂呢,^_^



您对本贴的看法:鲜花[0] 臭蛋[0]
BlueBlack
侠客




CU编号: 747557
注册:2008-8-18
最后登录: 2009-06-22
帖子:42
精华:0

可用积分:69 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


4楼 发表于 2009-1-6 15:45 

回复 #2 ly5066113 的帖子

172.16.19.46
172.16.19.21,172.16.19.21,172.16.19.21,172.26.19.21,172.26.19.21,172.26.19.21   
172.16.19.69,172.16.19.69,172.16.19.69,172.26.19.69,172.26.19.69,172.26.19.69
172.16.19.70,172.16.19.70,172.16.19.70,172.26.19.70,172.26.19.70,172.26.19.70

像这种 还是无法处理



您对本贴的看法:鲜花[0] 臭蛋[0]
BlueBlack
侠客




CU编号: 747557
注册:2008-8-18
最后登录: 2009-06-22
帖子:42
精华:0

可用积分:69 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


5楼 发表于 2009-1-6 15:49 

回复 #4 BlueBlack 的帖子

像这种
172.16.19.46,172.16.19.47
172.16.19.21,172.16.19.21,172.16.19.21,172.26.19.21,172.26.19.21,172.26.19.21
172.16.19.69,172.16.19.69,172.16.19.69,172.26.19.69,172.26.19.69,172.26.19.69
172.16.19.70,172.16.19.70,172.16.19.70,172.26.19.70,172.26.19.70,172.26.19.70
处理后变成这样了:
172.16.19.467
172.16.19.21,172.26.19.21
172.16.19.69,172.26.19.69
172.16.19.70,172.26.19.70



您对本贴的看法:鲜花[0] 臭蛋[0]
ILoveMK   帅哥
天使


CU奥运火炬传递手2008
CU编号: 627235
注册:2007-10-11
最后登录: 2009-07-05
帖子:1386
精华:0

可用积分:4416 (小富即安)
信誉积分:0
专家积分:55 (本版:10)
空间积分:810
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


6楼 发表于 2009-1-6 15:50 



QUOTE:
原帖由 ly5066113 于 2009-1-6 15:30 发表
sed -r ':a;s/([0-9]+(\.[0-9]+){3})(.*),\1/\1\3/;ta' urfile

不知道(.*)有啥用,tim解释一下?



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

葡萄美酒夜光杯,欲饮琵琶马上催。
醉卧沙场君莫笑,古来征战几人回。

推荐歌曲:NewDivide-LinkinPark
feigepp
新手




CU编号: 794724
注册:2008-12-15
最后登录: 2009-01-20
帖子:3
精华:0

可用积分:5 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


7楼 发表于 2009-1-6 15:50 

回复 #1 BlueBlack 的帖子

awk -F "," '{for (i=1;i<=NF;i++) print $i}' test |uniq

这样可以吗?



您对本贴的看法:鲜花[0] 臭蛋[0]
luyi1983   帅哥 (租房子的小朋友)
精灵王



CU编号: 636072
注册:2007-11-1
最后登录: 2009-07-03
帖子:284
精华:0

可用积分:435 (稍有积蓄)
信誉积分:5
专家积分:1 (本版:1)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


8楼 发表于 2009-1-6 15:50 

比较笨的方法 你可以多用几个pipe
先换成列 sort uniq
然后 替换回去



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

-------------------------------------------------------------------
GNU bash, version 3.1.17(6)-release (i686-pc-cygwin)
ILoveMK   帅哥
天使


CU奥运火炬传递手2008
CU编号: 627235
注册:2007-10-11
最后登录: 2009-07-05
帖子:1386
精华:0

可用积分:4416 (小富即安)
信誉积分:0
专家积分:55 (本版:10)
空间积分:810
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


9楼 发表于 2009-1-6 15:51 



QUOTE:
原帖由 BlueBlack 于 2009-1-6 15:49 发表
像这种
172.16.19.46,172.16.19.47
172.16.19.21,172.16.19.21,172.16.19.21,172.26.19.21,172.26.19.21,172.26.19.21
172.16.19.69,172.16.19.69,172.16.19.69,172.26.19.69,172.26.19.69,172.26.19.69
17 ...

去掉(.*)试试看。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

葡萄美酒夜光杯,欲饮琵琶马上催。
醉卧沙场君莫笑,古来征战几人回。

推荐歌曲:NewDivide-LinkinPark
luyi1983   帅哥 (租房子的小朋友)
精灵王



CU编号: 636072
注册:2007-11-1
最后登录: 2009-07-03
帖子:284
精华:0

可用积分:435 (稍有积蓄)
信誉积分:5
专家积分:1 (本版:1)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


10楼 发表于 2009-1-6 15:52 

回复 #6 ILoveMK 的帖子

好像是 保存后面的内容到÷3
给sed下一次 替换使用

貌似
tim的command的问题就是不能处理
开头和结尾2个field重复的问题

[ 本帖最后由 luyi1983 于 2009-1-6 15:54 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[1]

__________________________________

-------------------------------------------------------------------
GNU bash, version 3.1.17(6)-release (i686-pc-cygwin)

首页 » 论坛 » Shell »


 


Copyright © 2001-2009 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.071918 second(s), 4 queries , Gzip enabled