命令小工具
目录
1. cut —— 按列或字符截取
2. sort —— 排序(默认按行首字符升序)
3. uniq —— 去除 连续 重复行
编辑
4. tr —— 字符替换 / 删除 / 压缩重复
5. 常见组合 扩展
① 统计当前连接的主机数
② 统计当前主机的连接状态
③ 查看当前登录用户
④ 查看登录过系统的用户
6. 总结
1. cut —— 按列或字符截取
常用于从文本中抽取需要的字段。
-b
:按字节截取
-c
:按字符截取(中文推荐用 -c
)
-d
:指定分隔符(默认 TAB)
-f
:指定字段(需配合 -d
)
2. sort —— 排序(默认按行首字符升序)
-t
: 指定分隔符
-k
: 指定排序字段
-n
:按数值排序(默认是字典序)
-r
:降序
-u
:去重(等价于 uniq
)
-o
:输出到文件
3. uniq —— 去除 连续 重复行
注意:只能去掉相邻的重复行,所以通常先 sort
再 uniq
。
常用选项
-c
:对重复的行进行计数
-d
:只显示重复行
-u
:只显示唯一行
last 查看登录日志 系统重启、关机 审计
4. tr —— 字符替换 / 删除 / 压缩重复
主要用于 单个字符处理,不适合字段级别。
用法:tr [选项]… SET1 [SET2]
从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出
常用选项
-d
:删除字符
-s
:压缩重复字符,只保留一个
cat fruit|tr 'a-z' 'A-Z' 或者 tr 'a-z' 'A-Z' <fruit #将fruit文件中的小写字母全部换成大写
cat fruit | tr 'a' ' ' #把替换的字符用单引号引起来,包括特殊字
cat fruit | tr 'apple' 'star' #a替换成s,p替换成a,le替换成r
cat fruit|tr 'a' '/' #a替换为/
tr -d 'a' <fruit #删除fruit文件中的a
tr -d '\n' <fruit #删除换行符
tr -s 'p' <fruit #连续多个p压缩成一个
案例 :修改SELinux状态
cd /etc/selinux/config
sed -i.bak s/SELINUX=enforcing/SELINUX=permissive/ /etc/selinux/config
5. 常见组合 扩展
① 统计当前连接的主机数
② 统计当前主机的连接状态
③ 查看当前登录用户
④ 查看登录过系统的用户
6. 总结
cut #截列
sort #排序
uniq #去重
tr #替换、删除、压缩