中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 操作系统 > Linux > Linux综合
shell问答15:如何按域(field)来消除重复行
作者:未知 时间:2005-09-13 22:03 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:shell问答15:如何按域(field)来消除重复行

去除某个Field有重复的行

例如:$cat filename
robot 3 xxx 10 @@
amyru 4 xxx 30 (&
cindy 3 zzz 50  %%
blue 9 yyy 30  ##

如果按域来取出唯一性的行,应该用什么

结果比如是这样,按第三个域来取就是

amyru 4 xxx 30 (&
cindy 3 zzz 50  %%
blue 9 yyy 30  ##

按第四个域来取就是
robot 3 xxx 10 @@
amyru 4 xxx 30 (&
cindy 3 zzz 50  %%

答案:
1.sort -k3,3 txt6|awk '}'
2.uniq -f2 -W1 file
注。linux的uniq工具没有W。uniq -f是跳过多少个域进行比较,-s是跳过多少个字符,-W是最多对多少个域进行比较,-w是最多对多少个字符进行比较
3.sort -u +2 -3 就是第2个域以后 第3个域结尾的域

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有