免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2817 | 回复: 9
打印 上一主题 下一主题

怎么提取一列中不重复的行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-04 20:38 |只看该作者 |倒序浏览
假如有个文件,有2列,用tab或空格分开
要提取第2列中不重复的行

例如有个文件 file.txt

1    王三
2    张五
3    王三
4    李六

提取结果应该为

王三
张五
李六

用shell实现

论坛徽章:
0
2 [报告]
发表于 2007-11-04 20:56 |只看该作者
awk '{print $2}' < urfile | sort -u

论坛徽章:
0
3 [报告]
发表于 2007-11-04 21:13 |只看该作者
#/bin/sh
awk 'print $2' file.txt|uniq

[ 本帖最后由 angeljyt 于 2007-11-4 21:15 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2007-11-05 00:02 |只看该作者
awk '!a[$2]++{print $2}' 文件

论坛徽章:
0
5 [报告]
发表于 2007-11-05 00:09 |只看该作者
用bash的

  1. #!/bin/bash
  2. s=$'\n'
  3. while read null str
  4. do
  5.         [ "$s" == "${s/ $str}" ] && echo $str && s="$s $str"
  6. done
复制代码

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
6 [报告]
发表于 2007-11-05 07:50 |只看该作者
原帖由 angeljyt 于 2007-11-4 21:13 发表
#/bin/sh
awk 'print $2' file.txt|uniq


不sort,而直接用uniq是没有用的。

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
7 [报告]
发表于 2007-11-05 09:20 |只看该作者
$ cut -d" " -f2 urfile | sort -u
文件以空格为分隔符,输出结果与原来的顺序不同:
李六
王三
张五

$ sort -k2,2 -u urfile | sort -k1,1 | cut -d" " -f2
输出结果保持原来的顺序:
王三
张五
李六

[ 本帖最后由 blackold 于 2007-11-5 09:32 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2007-11-05 09:38 |只看该作者
awk '{print $2}' urfile | sort -u

[ 本帖最后由 gswwgph 于 2007-11-5 10:02 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2007-11-05 09:45 |只看该作者
我刚回复的是错误的

论坛徽章:
0
10 [报告]
发表于 2007-11-05 12:02 |只看该作者

回复 #6 rdcwayx 的帖子

谢谢(xièxiè)。我(wo)是(shì)新手(xīnshǒu)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP