Shell编程工具(sort、uniq、tr )

sort工具

依据不同的数据类型进行排序

  • 字符排序(默认)
  • 数字排序

语法格式

sort [选项] 参数

常用选项

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

用法

将/etc/passwd文件中的账号进行排序(默认字符排序)

[root@server2 ~]# sort /etc/passwd

在这里插入图片描述

将/etc/passwd文件中第三列进行正,反向排序

[root@server2 ~]# sort -n -t ":" -k 3 /etc/passwd

在这里插入图片描述

[root@server2 ~]# sort -n -t ":" -rk 3 /etc/passwd

在这里插入图片描述

将反向排序结果转存至指定文件zhfx.txt中

[root@server2 ~]# sort -n -t ":" -rk 3 /etc/passwd -o zhfx.txt
[root@server2 ~]# cat zhfx.txt 

在这里插入图片描述

uniq工具

常用选项

  • -c:进行计数
  • -d;仅显示重复行
  • -u:仅显示出现一次的行

用法

查看自动合并重复行

[root@server2 ~]# vi testfilel
[root@server2 ~]# uniq testfilel 

在这里插入图片描述
在这里插入图片描述

对重复行进行重复计数

[root@server2 ~]# uniq -c testfilel

仅显示出现的重复行且显示出现次数

[root@server2 ~]# uniq -cd testfilel 

在这里插入图片描述

仅显示出现一次的行

[root@server2 ~]# uniq -u testfilel 

在这里插入图片描述

tr工具

tr具体的命令语句格式为

  • tr [选项] [参数]

其常用选项包括以下内容

  • -c:取代所有不属于第一字符集的字符
  • -d:删除所有属于第一字符集的字符
  • -s:把连续重复的字符以单独一个字符表示
  • -t:先删除第一字符集较第二字符集多出的字符,做替换

用法

将输入字符由大写转换为小写

[root@server2 ~]# echo "GHHH" | tr 'A-Z' 'a-z'

在这里插入图片描述

替换所有不属于第一字符集的字符

[root@server2 ~]# echo "bcd123bcd123" | tr -c bc 44

在这里插入图片描述

删除所有不属于第一字符集的字符

[root@server2 ~]# echo "happy new year" | tr -d 'ae'  

在这里插入图片描述

压缩输入中重复的字符

[root@server2 ~]# echo "Itttttt was an appleeeeeeeee" | tr -s 'te' 

在这里插入图片描述

先删除第一字符集较第二字符集多出的字符,做替换

[root@server2 ~]# echo "bcd123bcd123" | tr -t 'bcd' 'e' 
[root@server2 ~]# echo "bcd123bcd123" | tr -t 'bcd' 'eee' 
[root@server2 ~]# echo "bcd123bcd123" | tr -t 'bc' 'efg' 

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49343462/article/details/109669355