承德市| 吕梁| 石泉| 东明| 河池| 永福| 井陉矿| 泸溪| 温江| 稷山| 偃师| 大港| 建水| 剑川| 同江| 平乡| 曲靖| 泗阳| 南沙岛| 泸西| 桃源| 夹江| 石城| 白水| 临潼| 宜兰| 增城| 河北| 云溪| 新绛| 邵阳县| 巢湖| 湘东| 松原| 阜阳| 栾川| 扎兰屯| 汨罗| 乌兰察布| 当涂| 晋城| 乐山| 麟游| 蓝田| 福山| 大余| 安县| 广汉| 永靖| 泉州| 韩城| 四方台| 丘北| 镇巴| 白玉| 紫阳| 馆陶| 卫辉| 上犹| 施甸| 宁安| 昆明| 北仑| 洋山港| 北碚| 滦县| 突泉| 和平| 康保| 祁门| 腾冲| 安陆| 施甸| 阳谷| 关岭| 靖边| 项城| 琼中| 连城| 灌南| 秭归| 开县| 张家口| 玉树| 揭东| 宁明| 思南| 望奎| 政和| 五通桥| 龙岗| 青川| 富锦| 龙山| 宁明| 开江| 达州| 唐河| 合水| 阳新| 含山| 岐山| 循化| 吉林| 商丘| 北海| 凤阳| 凤凰| 化隆| 会同| 青阳| 邵阳县| 唐河| 固镇| 亳州| 大竹| 灵石| 同安| 扶风| 澜沧| 什邡| 威县| 渭源| 芮城| 湖口| 长汀| 酉阳| 宜昌| 墨脱| 奉化| 威海| 胶南| 新巴尔虎右旗| 万源| 茶陵| 浦江| 孝感| 裕民| 于都| 兴平| 桐城| 逊克| 吐鲁番| 宜宾市| 贵州| 新河| 芜湖市| 泰兴| 兰考| 华县| 明光| 望江| 阳信| 盈江| 安新| 安化| 松桃| 上杭| 钦州| 九江市| 泸溪| 江西| 大龙山镇| 茶陵| 华池| 五常| 肇源| 英德| 城固| 古丈| 重庆| 丰南| 宕昌| 调兵山| 石屏| 临川| 景县| 哈密| 洛浦| 林州| 东乡| 南阳| 河池| 兴海| 霍山| 察雅| 广南| 洋县| 安塞| 安化| 阿坝| 普宁| 米易| 荣昌| 麦盖提| 阿拉善右旗| 襄樊| 惠水| 昌都| 仁寿| 渝北| 蓬安| 本溪市| 沙圪堵| 兴县| 响水| 新荣| 北辰| 沿河| 藤县| 温江| 安图| 新兴| 淮南| 昭觉| 新民| 丰顺| 龙岩| 平川| 莱州| 德钦| 大同市| 西畴| 叶城| 台南县| 汶上| 成武| 漯河| 东丽| 枣阳| 沅陵| 江都| 广宁| 乡城| 丰南| 怀来| 郓城| 长丰| 闽侯| 任县| 邱县| 金寨| 龙州| 吉木萨尔| 南部| 大方| 双阳| 保德| 酉阳| 科尔沁右翼中旗| 和平| 泉港| 昆山| 泰顺| 新绛| 唐海| 抚顺县| 鹤庆| 白水| 仪陇| 临县| 嘉义市| 淅川| 修水| ag电子游戏程序破解器
|
|
51CTO旗下网站
|
|
移动端

Linux Shell教程 - 如何删除重复的文本行

需要对日志文件中的数据进行排序,但是有太多重复的行。 如何从GNU/Linux下的文本文件中删除所有重复的行?您需要使用shell管道以及以下两个Linux命令行实用程序来排序和删除重复的文本行。

作者:聆听世界的鱼来源:Linux公社|2019-01-21 10:45

需要对日志文件中的数据进行排序,但是有太多重复的行。 如何从GNU/Linux下的文本文件中删除所有重复的行?

您需要使用shell管道以及以下两个Linux命令行实用程序来排序和删除重复的文本行:

1、sort命令 - 在Linux和类Unix系统中对文本文件行进行排序。

2、uniq命令 - 在Linux或Unix上运行或省略重复的行

使用Sort,Uniq和Shell管道删除重复行

使用以下语法:

  1. sort {file-name} | uniq -u  
  2. sort file.log | uniq -u 

使用uniq删除重复的行

以下是使用cat命令显示的名为garbage.txt的示例测试文件:

  1. linuxidc@linuxidc:~/www.linuxidc.com$ cat linuxidc.com.txt 

样本输出:

  1. Linux公社(www.linuxidc.com)于2019-01-21注册并开通网站  
  2. Linux现在已经成为一种广受关注和支持的一种操作系统  
  3. IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。  
  4. 实时发布最新Linux资讯  
  5. Linux公社是专业的Linux系统门户网站  
  6. 实时发布最新Linux资讯,包括Linux、Ubuntu、Fedora、RedHat  
  7. Linux教程、Linux认证、SUSE Linux、Android、Oracle、Hadoop等技术。  
  8. 实时发布最新Linux资讯  
  9. 实时发布最新Linux资讯 

从Linux上的文本文件中删除重复的行

键入以下命令以删除所有重复行:

  1. linuxidc@linuxidc:~/www.linuxidc.com$ sort linuxidc.com.txt | uniq -u 

样本输出: 

  1. IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。 
  2. Linux公社(www.linuxidc.com)于2019-01-21注册并开通网站  
  3. Linux公社是专业的Linux系统门户网站  
  4. Linux教程、Linux认证、SUSE Linux、Android、Oracle、Hadoop等技术。  
  5. Linux现在已经成为一种广受关注和支持的一种操作系统  
  6. 实时发布最新Linux资讯,包括Linux、Ubuntu、Fedora、RedHat 

在这里,

-u:检查是否有严格的排序,删除所有重复的行。

在Linux上排序文件内容

我们假设您有一个名为users.txt的文件:

  1. cat linuxidc.txt  
  2. Linux Idc 22/11/72  
  3. Zhang San 12/01/69  
  4. Li Ai  30/12/88  
  5. A Bao 15/08/76  
  6. Chen Xiao  05/06/77  
  7. Shen Lin 13/02/75  
  8. Da Cen 21/10/73  
  9. Zhang San 12/01/69 

让我们排序,运行:

  1. sort linuxidc.txt 

接下来按姓氏排序,运行:

  1. sort -r linuxidc.txt 

想以相反的顺序排序? 尝试:

  1. sort +2 linuxidc.txt 

您可以在排序文件时消除文件中的任何重复条目,运行:

  1. sort +2 -u linuxidc.txt  
  2. sort -u linuxidc.txt 

没有任何选项,sort会比较文件中的整行,并以ASCII顺序输出。 您可以使用选项控制输出。

如何使用uniq命令删除Linux上的重复行

使用以下文件:

  1. linuxidc@linuxidc:~/www.linuxidc.com$ cat -n linuxidc.txt 

样本输出: 

  1. 1 www.linuxidc.com  
  2.    2 Linux公社  
  3.    3 linuxidc  
  4.    4 linuxidc.com  
  5.    5 ------------  
  6.    6 5566778899  
  7.    7 5566778899  
  8.    8 5566778899 

uniq命令从文件中删除第8行,并将结果放在名为linuxidc.com.txt的文件中:

  1. uniq linuxidc.txt linuxidc.com.txt 

验证它:

  1. cat -n linuxidc.com.txt 

如何使用uniq命令删除重复的行

如何删除.txt文件中的重复行并将结果保存到新文件

请尝试以下任一语法:

  1. sort shuru_wenjian | uniq > shuchu_wenjian  
  2. sort shuru_wenjian | uniq -u | tee shuchu_wenjian 

总结

sort命令用于对文本文件的行进行排序,uniq过滤从文本文件中复制相邻的行。 这些命令有许多有用的选项。 我建议您通过键入以下man命令来阅读手册页:

  1. man sort  
  2. man uniq  

【编辑推荐】

  1. 如何在Ubuntu和其他Linux发行版上安装Putty
  2. 用户、组及其它Linux特性
  3. 7个最佳Linux电子书阅读器
  4. 五款主流 Linux 发行版性能对比,稳而不强?
  5. Linux内核测试现状揭秘
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网络服务器配置与应用(第3版)

本书是由长期从事网络管理工作和网络工程人员培训工作的一线网管人员和教学人员精心编写,从现实的技术发展角度和实际应用的角度,通过大量...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
麦尔玛乡 九街乡 襄阳北路 复兴北苑 青青世界
榆次 富强路街道 木老乡 下连塘 程雪道
澳门联合赌场 美高梅网址 澳门威尼斯人平台 澳门威尼斯人平台 e乐博网址
澳门葡京 威尼斯人网上娱乐 澳门赌场排名 神秘格罗夫 威尼斯人平台
庄闲游戏赌场 葡京赌场官网 牌九博彩 澳门星际官网 真人网址
二十一点游戏 澳门威尼斯人官网 澳门大发888赌博娱乐 澳门威尼斯人官网 澳门威尼斯人注册官网
老虎机定位器 澳门大富豪网址 现金三公注册网址 牛牛游戏下载 现金骰宝 年度十大电子游戏 大小点游戏 玩什么游戏可以挣钱 电子游戏厅 方法奇葩赌博网 巴黎人网站 pt电子游戏哪个最会爆 澳门巴黎人游戏 澳门龙虎斗注册 澳门大富豪网站 押大小排行 真钱打牌 明升网站 十三水技巧 电子游戏下载 二十一点平台 现金网游戏开户平台 澳门百老汇游戏官网 皇博压大小 真钱捕鱼 跑马机游戏 赌博技巧 巴比伦赌场官网 现金三公 地下网址 捕鱼游戏技巧 英皇网站 手机玩游戏赚钱平台 现金网排行 pt电子游戏注册 赌博技巧 电脑玩游戏赚钱平台 海立方游戏 ag电子游戏排行 希尔顿官网 太阳网上压大小 现金赌钱游戏 现金棋牌游戏 真人网站网址 地下开户 九五至尊娱乐网址 澳门梭哈游戏官网 奇葩袖赌博网 鸿胜国际压大小 博狗扑克游戏 德州扑克游戏规则 庄闲代理 奔驰宝马老虎机下载 现金三公开户注册 免费试玩电子游戏 GT压大小 新濠天地注册 现金老虎机网站 纸牌赌博种类 乐天堂开户 澳门永利平台 电脑版捕鱼达人 玩电子游戏入门 斗牛游戏 bbin压大小 网上电子游戏网址 澳门网络下注平台 明升国际网址 明升娱乐 捕鱼达人电子游戏 mg电子游戏试玩 二十一点游戏赌场 澳门万利赌场官网 大小对比网站 现金电子游戏 电子游戏实用技术 老虎机破解器 澳门梭哈官网 澳门百老汇赌场注册 千炮捕鱼兑换现金 网上合法赌场 PT电子游戏 波克棋牌官方下载 天天棋牌 凤凰棋牌 美少女战士电子游戏 什么游戏可以赚人民币 银河国际娱乐 澳门番摊官网 澳门梭哈官网 胜博发电子游戏 电子游戏打鱼机 澳门现金网 大三巴网站 PT电子游戏 澳门银河国际娱乐