|NO.Z.00013|——————————|LinuxShell|——|Linux&Shell&字符处理命令.V01|——|sort|uniq|wc|
一、排序命令sort
### --- 排序命令sort
~~~ # 选项:
~~~ -f: 忽略大小写
~~~ -b: 忽略每行前面的空白部分
~~~ -n: 以数值型进行排序,默认使用字符串型排序
~~~ -r: 反向排序
~~~ -u: 删除重复行。就是 uniq 命令
~~~ -t: 指定分隔符,默认是分隔符是制表符
~~~ -k n[,m]: 按照指定的字段范围排序。从第 n 字段开始,m 字段结束(默认到行尾)
[root@localhost ~]# sort [选项] 文件名
### --- sort 命令默认是用每行开头第一个字符来进行排序的,比如:
~~~ 排序用户信息文件
[root@localhost ~]# sort /etc/passwd
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
### --- 如果想要反向排序;请使用"-r"选项:
~~~ 反向排序用户信息文件
[root@localhost ~]# sort -r /etc/passwd
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
### --- 如果想要指定排序的字段,需要使用“-t”选项指定分隔符,并使用“-k”选项指定字段号。
~~~ 加入我想要按照 UID 字段排序/etc/passwd 文件:
### --- 指定分隔符是“:”,用第三字段开头,第三字段结尾排序,就是只用第三字段排序
~~~ 注:5、看起来好像很美,可是如果仔细看看,怎么 daemon 用户的 UID 是 2,
~~~ 反而排在了下面?这是因为sort 默认是按照字符排序,前面用户的 UID 的第一个字符都是 1,
~~~ 所以这么排序。要想按照数字排序,请使用“-n”选项
[root@localhost ~]# sort -t ":" -k 3,3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
二、uniq命令
### --- uniq 命令是用来取消重复行的命令,其实和“sort -u”选项是一样的。命令格式如下:
~~~ # 选项:
~~~ -i: 忽略大小写
[root@localhost ~]# uniq [选项] 文件名
三、统计命令-wc
### --- 统计命令-wc
~~~ # 选项:
~~~ -l:只统计行数
~~~ -w:只统计单词数
~~~ -m:只统计字符数
[root@localhost ~]# wc [选项] 文件名
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv008-shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通