目录
sort排序工具
依据不同的数据类型进行排序
·字符排序
·数字排序
语法格式
sort [选项] 参数
常用选项
-f | 忽略大小写 |
---|---|
-b | 忽略每行前面的空格 |
-M | 按照每月份进行排序 |
-n | 按照数字进行排序 |
-r | 反向排序 |
-u | 等同于uniq,表示相同数据仅显示一行 |
-t | 指定分隔符,默认使用[tab]键分隔 |
-o <输出文件> | 将排序后的结果转存至指定文件 |
-k | 指定排序区域 |
示例
以冒号分隔(降序)
[root@localhost ~]# cat /etc/passwd | head -n 5| cut -d ":" -f 1,3 | sort -nr -t: -k2
lp:4
adm:3
daemon:2
bin:1
root:0
[root@localhost ~]#
不加任何选项默认按第一列升序,字母的话就是从a到z由上而下显示
[root@localhost ~]# cat /etc/passwd | head -n 5| cut -d ":" -f 1,3 | sort
adm:3
bin:1
daemon:2
lp:4
root:0
cut列截取工具
-b | 按字节截取 |
---|---|
-c | 按字符截取,常用于中文 |
-d | 指定以什么为分隔符截取,默认为制表符 |
-f | 通常和-d一起 |
示例
窃取每列开头
[root@localhost ~]# cat /etc/passwd | head | cut -b 1
r
b
d
a
l
s
s
h
m
o
[root@localhost ~]#
uniq去重工具
用于报告或者忽略文件中的重复行
一般与sort命令结合使用
语法
uniq[选项] 参数
常用选项
-c | 进行计数 |
---|---|
-d | 仅显示重复行 |
-u | 仅显示出现一次的行 |
示例
去除重复行
[root@localhost ~]# cat test
aaa
bbb
bbb
ccc
ddd
ddd
abc
abc
ddd
abc
[root@localhost ~]# uniq test
aaa
bbb
ccc
ddd
abc
ddd
abc
[root@localhost ~]#
结合sort使用(sort -n)
[root@localhost ~]# sort test | uniq
aaa
abc
bbb
ccc
ddd
[root@localhost ~]#
tar
与来自标准输入的字符进行替换、压缩和删除
语法
tar [选项] 参数
常用选项
-c | 取代所有不属于第一个字符集的字符 |
---|---|
-d | 删除所有属于第一个字符集的字符 |
-s | 吧连续重复的字符以单独一个字符表示 |
-t | 先删除第一个字符集较第二个字符集多出的字符 |
示例
把a替换为A
[root@localhost ~]# cat test | tr 'a' 'A'
AAA
bbb
bbb
ccc
ddd
ddd
Abc
Abc
ddd
Abc
[root@localhost ~]#
对a去重
[root@localhost ~]# cat test | tr -s 'a'
a
bbb
bbb
ccc
ddd
ddd
abc
abc
ddd
abc
[root@localhost ~]#