shell脚本之正则表达式(四)---sort与uniq工具

sort 工具

sort 是一个以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序。

sort 语法

sort [选项] 参数

sort常用选项

-f:忽略大小写
-b:忽略每行前面的空格
-M:按照月份进行排序
-n:按照数字进行排序
-r:反向排序
-u:表示相同的数据仅显示一行(去除不连续的重复)
-t:指定分隔符,默认使用[Tab]键分隔
-o <输出文件>:将排序后的结果转存至指定文件
-k:指定排序区域

范例演示

将/etc/passwd 文件中第三列进行排序,并将输出内容保存至user.txt 文件中

[[email protected] ~]# sort -t ‘:‘ -k 3 /etc/passwd -o user.txt          //将/etc/passwd 文件中第三列进行排序,并将输出内容保存至user.txt 文件中
[[email protected] ~]# cat user.txt         //查看文件
root:x:0:0:root:/root:/bin/bash
czt:x:1000:1000:czt:/home/czt:/bin/bash
ccc:x:1001:1001::/home/ccc:/bin/bash
......


uniq 工具

Uniq 工具在 Linux 系统中通常与 sort 命令结合使用,用于报告或者忽略文件中的重复行。

uniq语法

uniq [选项] 参数

uniq常用选项

-c:进行计数
-d:仅显示重复行
-u:仅显示出现一次的行(仅去除连续的重复)

范例演示

删除 testfile 文件中的重复行,并在行首显示该行重复出现的次数

[[email protected] ~]# vim testfile
Linux 10
Linux 20
Linux 30
Linux 30
Linux 30
CentOS 6.5
CentOS 6.5
CentOS 6.5
CentOS 7.3
CentOS 7.3
CentOS 7.3

[[email protected] ~]# uniq -c testfile          //*删除 testfile 文件中的重复行,并在行首显示该行重复出现的次数
      1 Linux 10
      1 Linux 20
      3 Linux 30
      3 CentOS 6.5
      3 CentOS 7.3

原文地址:https://blog.51cto.com/14449521/2441620

时间: 2024-08-29 19:54:42

shell脚本之正则表达式(四)---sort与uniq工具的相关文章

Shell编程之正则表达式——sort,uniq工具

sort概述 sort 是一个以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序.例如数据和字符的牌局就不一样.sort 命令的语法为"sort [选项] 参数",其中常用的选项包括以下几种. -f:忽略大小写: -b:忽略每行前面的空格: -M:按照月份进行排序: -n:按照数字进行排序: -r:反向排序: -u:等同于 uniq,表示相同的数据仅显示一行: -t:指定分隔符,默认使用[Tab]键分隔: -o <输出文件>:将排序后的结果转存至指定文件:

shell脚本及正则表达式

shell脚本的编写及正则表达式: 一.shell脚本的基本: 1.首先shell脚本到底是什么? 1)纯文本文档--文件中所存储的数据都是以字符为单位进行存储的: 2)根据用户的需求来解决用户问题的大量命令的组合体 3)"执行幂等性"--任何命令多次执行的结果是一致的 注意:很多命令都不具备"执行幂等性",在shell脚本中就需要大量的程序逻辑来判断某个命令是否满足其运行条件,以避免在运行过程中出现严重错误. 2.脚本的基本代码内容: 1)首先我们可以利用文本编辑

shell脚本之正则表达式(二)---sed工具

sed工具 sed是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除.替换.添加.移动等),最后输出所有行或者仅输出处理的某些行.sed 也可以在无交互的情况下实现相当复杂的文本处理操作,被广泛应用于 Shell 脚本中,用以完成各种自动化处理任务. sed工作流程 1.读取:sed 从输入流(文件.管道.标准输入)中读取一行内容并存储到临时的缓冲区中.2.执行:默认情况下,所有的 sed 命令都在模式空间中顺序地执行,除非指定了行的地址,否则 sed 命

shell脚本应用(四)

Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0是表示成功,否则(非0值)表示失败或者异常.使用专门的测试工具-test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0时表示条件成立): 使用test测试命令时,包括以下两种形式. test  条件表达式 或者 [ 条件表达式 ] 这两种方式的作用完全相同,但通常后一种形式更为常用,注意中括号括起来时至少要用一空格来分隔. 文件测试: 文件测试的常见选项如下: -d:测试是否为目录(Dire

shell编程之正则表达式(二)sed工具

sed 工具 sed(Stream EDitor)是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除.替换.添加.移动等),最后输出所有行或者仅输出处理的某些行.sed 也可以在无交互的情况下实现相当复杂的文本处理操作,被广泛应用于 Shell 脚本中,用以完成各种自动化处理任务.sed 的工作流程主要包括读取.执行和显示三个过程. 读取:sed 从输入流(文件.管道.标准输入)中读取一行内容并存储到临时的缓 冲区中(又称模式空间,pattern spac

cut、sort及uniq工具简介

一.cut工具 1.cut工具在文件中负责剪切数据,以行为一个对象进行处理,在这个点上与工具sed是一样处理机制的. 2.cut用法 ,cut命令主要接受三个定为方法: (1)按照字节进行剪切,使用选项-b(如下例子) (2)按照字符进行剪切,使用选项-c(如下例子) (3)按照域进行剪切,使用选项-f(如下例子,-d用来指定域) 二.sort工具 1.sort如cut一般,也是以行为单位,从首字符向后,一次按照ASCII码值进行比较,最后按照升序输出. 2.sort命令加选项使用: (1)-u

shell脚本学习—正则表达式

正则表达式概念.特点 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”, 这个“规则字符串”用来表达对字符串的一种过滤辑. 给定一个正则表达式和另一个字符串,我们可以达到如下的目的: 1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”): 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分. 正则表达式的特点是: 1. 灵活性.逻辑性和功能性非常的强: 2. 可以迅速地用极简单的方式达到字符串的复杂控制. 3.

shell脚本学习(四)

1.文件权限 1.1 用户有一个称为setuid(S)的特殊权限,它出现在执行权限(x)的位置,setuid权限允许用户以拥有者的权限来执行可执行文件,即使这个可执行文件是由 其他用户运行的. 具有setuid权限的文件的权限序列如下: -rwS------ setuid的使用不是无限制的,为了确保安全,只能使用在linux ELF 格式二进制文件上,而不能用于脚本文件. 1.2 目录拥有一个特殊的权限,叫做粘滞位(sticky bit).如果目录设置了粘滞位,只有创建该目录的用户才能删除目录中

linux学习笔记-第十二课-Shell脚本之正则表达式(一)

一.grep,egrep,fgrep 1)grep 格式:grep [选项] [模式] [文件名] 常用选项:-n:显示行号和匹配的行 -v:反向匹配 -c:不显示匹配的行,只显示匹配的行数 -i:忽略大小写 -r:递归搜索 -E:支持扩展正则表达式 -P:支持Perl正则表达式 -F:不支持正则表达式,将模式按字面意义匹配 示例: grep示例 说明 grep '\<Tom>\' file 显示包含单词Tom的行 grep 'Tom Jerry' file 显示包含'Tom Jerry'的行