shell中的sort和uniq命令

2023-12-19

参考链接sort https://www.runoob.com/linux/linux-comm-sort.html
参考链接uniq https://www.runoob.com/linux/linux-comm-uniq.html

一、sort命令

  1. sort testfile
    sort 命令将以默认的方式将文本文件的第一列以 ASCII 码的次序排列,并将结果输出到标准输出。
使用 cat 命令显示 testfile 文件可知其原有的排序如下:

$ cat testfile      # testfile文件原有排序  
test 30  
Hello 95  
Linux 85 
使用 sort 命令重排后的结果如下:

$ sort testfile # 重排结果  
Hello 95  
Linux 85  
test 30 
  1. sort -u testfile 意味着是唯一的(unique),输出的结果是去完重了的。
$ cat testfile      # testfile文件原有排序  
test 30
Hello 95
Linux 85
test 30
Hello 95
Linux 85
hhh 85
kkk 1
Linux 85

使用 sort -u 命令重排后的结果如下:

$ sort -u testfile # 重排结果  
Hello 95
hhh 85
kkk 1
Linux 85
test 30

二、uniq命令

uniq的操作对象是 排序后 的文本,当重复的行并不相邻时,uniq 命令是不起作用的

  1. uniq testfile
    testfile中的原有内容为:
$ cat testfile      #原有内容  
test 30  
test 30  
test 30  
Hello 95  
Hello 95  
Hello 95  
Hello 95  
Linux 85  
Linux 85 

使用uniq 命令删除重复的行后,有如下输出结果:

$ uniq testfile     #删除重复行后的内容  
test 30  
Hello 95  
Linux 85 
  1. 检查文件并删除文件中重复出现的行,并在行首显示该行重复出现的次数。使用如下命令:
uniq -c testfile 

结果输出如下:

$ uniq -c testfile      #删除重复行后的内容  
3 test 30             #前面的数字的意义为该行共出现了3次  
4 Hello 95            #前面的数字的意义为该行共出现了4次  
2 Linux 85            #前面的数字的意义为该行共出现了2次 
  1. 当文本中的文件未排序时,
$ cat testfile1      # 原有内容 
test 30  
Hello 95  
Linux 85 
test 30  
Hello 95  
Linux 85 
test 30  
Hello 95  
Linux 85 

先对文本进行排序,然后执行 uniq -c 统计每行文本出现的次数

sort testfile1 | uniq -c
 3 Hello 95  
 3 Linux 85 
 3 test 30

找出重复的行

$ sort testfile1 | uniq -d
Hello 95  
Linux 85 
test 30  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell中的sort和uniq命令 的相关文章

  • Emacs 退出终端

    在 Emacs 中运行终端模式时使用M x term using C x C o我无法切换到另一个缓冲区来继续处理事情 我知道这是可能的M x shell但使用此命令时 shell 的某些方面不起作用 less more 手册页等 我想知道
  • 如何在c#中使用net user

    我正在尝试将 net user 与 c 一起使用 System Diagnostics ProcessStartInfo proccessStartInfo new System Diagnostics ProcessStartInfo n
  • 将 stdout 和 stderr 捕获到不同的变量中

    是否可以存储或捕获 stdout 和 stderr不同的变量 不使用临时文件 现在我这样做是为了获得标准输出out和标准错误err跑步时some command 但我会 喜欢避免临时文件 error file mktemp out some
  • Bash 变量:区分大小写?

    Bash shell 脚本区分大小写吗 是可变的date与DATE 是的 它区分大小写 就像 UNIX 的其余部分一样 date and DATE是两个不同的变量 makefile and Makefile是两个不同的文件 h and H是
  • 使用 sh shell 比较字符串

    我正在使用 SH shell 我试图将字符串与变量的值进行比较 但是if条件始终执行为真 为什么 这是一些代码 Sourcesystem ABC if Sourcesystem eq XYZ then echo Sourcesystem M
  • 为什么我不能在 while 循环内评估?

    我想在循环中创建 bash 别名 其中循环从命令读取行 为了逐行读取输出 我相信我需要将输出通过管道传输到read 然而 当我这样做时 别名不存在 如果我将以下内容包含在我的 bashrc for x in a1 a2 do eval al
  • 如何检测文本文件中大于 n 的一系列“空洞”(孔、与模式不匹配的线)?

    Case scenario cat Status txt 1 connected 2 connected 3 connected 4 connected 5 connected 6 connected 7 disconnected 8 di
  • 如何替换每行中出现的所有字符串?

    我想在以下脚本中将所有出现的 用户名 替换为 但它仅替换第一次出现的情况 ls al sed s username 这就是 sed 默认情况下的工作方式吗 提前致谢 你需要g 全局 修饰符 sed s username g
  • 如何在 Bash 中将字符串转换为小写

    有办法进去吗bash questions tagged bash将字符串转换为小写字符串 例如 如果我有 a Hi all 我想将其转换为 hi all 有多种方法 POSIX标准 https en m wikipedia org wiki
  • 寻找下一个开放端口

    有没有什么办法 使用基本的 Unix 命令 找到下一个未使用的端口号 从端口 4444 开始向上 我通过 ssh 通过 openssh 进入 Windows XP 计算机 运行 Cygwin 工具并使用 bash shell 谢谢 戴夫 尝
  • 如何在Windows Git shell中运行./script.sh?

    也许这很尴尬 但是当我在 Git shell 中工作时 我无法在 Windows 上运行 sh 文件 也许我必须安装一些东西 但我认为 Git 会支持 bash 命令 我知道 Windows 不使用 sh 文件 我正在执行安装步骤游戏结束
  • 将所有脚本参数复制到另一个变量

    我需要复制所有脚本参数并将它们传递给另一个脚本 我尝试这样做 args printargs sh args echo printargs sh args 但在这种情况下 如果我使用包含空格的参数调用我的父脚本 例如 script sh ar
  • 让 Emacs ansiterm 和 Zsh 更好地发挥作用

    我一直在尝试在 emacs 会话中使用 Zsh 而无需 emacs 重新映射所有 Zsh 键 我发现 ansi term 对此非常有效 但是我仍然遇到一些问题 我输出了很多垃圾字符 我可以用以下方法修复它 Setup proper term
  • ANSI 转义码在行尾有奇怪的行为

    重现步骤 考虑以下 shell 命令 echo e e 41mTest nTest2 e 0mTest3 它打印Test并在下一行中Test2具有红色背景 使用 ANSI 转义码 Test2后面直接是Test3这是无色的 行为 第一次执行此
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • Windows、Emacs、Git Bash 和 shell 命令

    Windows 7 Emacs 24 3 1 git 1 8 1 msysgit 1 我的等效 emacs 文件中有以下内容 if equal system type windows nt progn setq explicit shell
  • 如何仅将整个嵌套目录中的头文件复制到另一个目录,在复制到新文件夹后保持相同的层次结构

    我有一个目录 其中有很多头文件 h 和其他 o 和 c 文件以及其他文件 这个目录里面有很多嵌套的目录 我只想将头文件复制到一个单独的目录 并在新目录中保留相同的结构 cp rf oldDirectory newDirectory将复制所有
  • linux下如何获取昨天和前天?

    我想在变量中获取 sysdate 1 和 sysdate 2 并回显它 我正在使用下面的查询 它将今天的日期作为输出 bin bash tm date Y d m echo tm 如何获取昨天和前天的日期 这是另一种方法 对于昨天来说 da
  • 如何替换“docker run”命令中的变量值

    我正在使用 bash 脚本并尝试分配指纹值 如下所示 export FINGERPRINT D0 19 C5 80 42 66 56 AC 6F docker run rm i v var run docker sock var run d
  • 如何让“grep”从文件中读取模式?

    假设有一个很大的文本文件 我只想打印与某些模式不匹配的行 显然 我可以使用egrep v patter1 pattern2 pattern3 现在 如果所有这些模式都在一个文本文件中怎么办 最好的制作方法是什么egrep从文件中读取模式 g

随机推荐

  • ASF-YOLO:一种基于注意尺度序列融合的细胞实例分割YOLO模型

    摘要 我们提出了一种基于注意力尺度序列融合的You Only Look Once YOLO 框架 ASF YOLO 该框架结合了空间和尺度特征 用于准确快速的细胞实例分割 在YOLO分割框架的基础上 我们采用尺度序列特征融合 SSFF 模块
  • 【计算机毕业设计】基于微信小程序的家具购物小程序

    随着信息技术在管理上越来越深入而广泛的应用 管理信息系统的实施在技术上已逐步成熟 本文介绍了基于微信小程序的家具购物小程序的设计与实现的开发全过程 通过分析基于微信小程序的家具购物小程序的设计与实现管理的不足 创建了一个计算机管理基于微信小
  • 【计算机毕业设计】外卖小程序

    随着科技的进步 微信小程序慢慢进入了生活当中 由于轻便快捷 方便使用 基于微信这个大平台 使得小程序飞速发展 趋于成熟 因此 针对用户对外卖点餐方面的需求 特开发了本外卖小程序 该外卖小程序分为小程序前端和Java后端系统 遵循数据前后端交
  • YoloV7改进策略:双动态令牌混合器(D-Mixer)的TransXNet,实现YoloV7的有效涨点

    摘要 双动态令牌混合器 D Mixer 一种输入依赖的方式聚合全局信息和局部细节 D Mixer通过分别在均匀分割的特征片段上应用有效的全局注意力模块和输入依赖的深度卷积 使网络具有强大的归纳偏差和扩大的有效感受野 使用D Mixer作为基
  • 【计算机毕业设计】基于微信小程序的电子购物系统

    由于APP软件在开发以及运营上面所需成本较高 而用户手机需要安装各种APP软件 因此占用用户过多的手机存储空间 导致用户手机运行缓慢 体验度比较差 进而导致用户会卸载非必要的APP 倒逼管理者必须改变运营策略 随着微信小程序的出现 解决了用
  • 我的创作纪念日-IT从业者张某某

    机缘 勿忘初心 牢记使命 我成为创作者的初心是什么呢 时间有些久了 回头看下自己的第一篇博客 还是略显青涩的 有种不忍直视的感觉 我的第一篇博客 应该是想记录下工作中的一个演示项目 并想着把这个演示项目通过文章的方向进行记录下来 便于和团队
  • STM32 GPIO工作原理详解

    STM32 GPIO介绍 1 STM32引脚说明 GPIO是通用输入 输出端口的简称 是STM32可控制的引脚 GPIO的引脚与外部硬件设备连接 可实现与外部通讯 控制外部硬件或者采集外部硬件数据的功能 以STM32F103ZET6芯片为例
  • Js new Date() 年月日时分秒的日期时间格式排序

    new Date 日期对象 效果 排序前 2023 12 10 12 01 21 2023 12 10 18 53 09 2023 12 10 08 10 12 2023 12 10 00 06 06 2023 12 10 16 36 08
  • 关于“Python”的核心知识点整理大全26

    目录 10 3 9 决定报告哪些错误 10 4 存储数据 10 4 1 使用 json dump 和 json load number writer py number reader py 10 4 2 保存和读取用户生成的数据 对于用户生
  • 在AI技术的无情侵袭下,学学Java的23种设计模式还是非常有必要的

    目前国内80 程序员的主要工作是调用组合api实现各种业务需求 在顶层架构师设定好的框架下 做着重复且无聊的编码工作 如果未来ai被广泛应用 那么被替代的风险是很高的 比较扎心的是 其实目前用ai生成片段代码已经是各个公司比较普遍的做法了
  • 【计算机毕业设计】南宁周边乡村游

    随着我国经济迅速发展 人们对手机的需求越来越大 各种手机软件也都在被广泛应用 但是对于手机进行数据信息管理 对于手机的各种软件也是备受游客的喜爱 南宁周边乡村游被游客普遍使用 为方便游客能够可以随时进行南宁周边乡村游的数据信息管理 特开发了
  • Java版企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis

    功能描述 1 门户管理 所有用户可在门户页面查看所有的公告信息及相关的通知信息 主要板块包含 招标公告 非招标公告 系统通知 政策法规 2 立项管理 企业用户可对需要采购的项目进行立项申请 并提交审批 查看所有的立项信息 主要功能包含 招标
  • 网络攻击3——拒绝服务攻击与缓冲区溢出攻击

    目录 拒绝服务攻击 拒绝服务攻击介绍 分布式拒绝服务攻击介绍 CDN 软件缺陷漏洞 缓冲区溢出 其它高级攻击 拒绝服务攻击 拒绝服务攻击不会破坏信息的机密性和完整性 而是破坏服务的可用性 拒绝服务攻击分为两大类 DoS 拒绝服务攻击 DDo
  • Java设计模式:模板方法模式

    作者主页 欢迎来到我的技术博客 个人介绍 大家好 本人热衷于 Java后端开发 欢迎来交流学习哦 如果文章对您有帮助 记得 关注 点赞 收藏 评论 您的支持将是我创作的动力 让我们一起加油进步吧 文章目录 一 模板方法模式的定义 二 模板方
  • 【计算机毕业设计】基于微信小程序的二手闲置交易市场系统

    随着计算机技术的成熟 互联网的建立 如今 PC平台上有许多关于二手闲置交易方面的应用程序 但由于使用时间和地点上的限制 用户在使用上存在着种种不方便 而开发一款基于微信小程序的二手闲置交易市场系统 能够有效地解决这个问题 本基于微信小程序的
  • 【计算机毕业设计】网络小说微信小程序

    社会的发展和科学技术的进步 互联网技术越来越受欢迎 网络小说也逐渐受到广大人民群众的喜爱 也逐渐进入了每个用户的使用 网络小说具有便利性 速度快 效率高 成本低等优点 因此 构建符合自己要求的操作系统是非常有意义的 本文从管理员 用户的功能
  • 如何看待名企的内推策略?

    内推肯定是可行的 现在 多数名企大厂都会有内推 不管是社招 还是校招 实习 有些公司通过内推获取的 简历数量甚至占到了总简历量的1 3 质量一般也不错 成本相对更低一些 内推想要做好 有效果 需要做到以下几点 做好内部宣贯工作 充分调动内部
  • pytest自动化框架运行全局配置文件pytest.ini

    还记得在之前的篇章中有讲到Pytest是目前主要流行的自动化框架之一 他有基础的脚本编码规则以及两种运行方式 pytest的基础编码规则是可以进行修改 这就是今日文章重点 看到这大家心中是否提出了两个问题 pytest的基础编码规则在哪可以
  • 钡铼无线R10A工业级路由器在工业机器人领域的创新应用

    随着工业机器人的普及 对于高可靠性和高稳定性的网络接入设备的需求也越来越大 传统的有线网络虽然稳定 但在现场布置和维护上面临很多困难 而无线网络虽然方便 但受到信号干扰和传输距离限制等问题的影响 如何解决这些问题 提高工业机器人在生产过程中
  • shell中的sort和uniq命令

    参考链接sort https www runoob com linux linux comm sort html 参考链接uniq https www runoob com linux linux comm uniq html 一 sort