Sort工具
以行为单位,对文件内容进行排序,也可以根据不同的数据类型来排序
常用选项
sort 命令的语法为 “ sort [选项] 参数 ”, 其中常用的选项包括以下几种:
-f:忽略大小写;
-b:忽略每行前面的空格;
-M:按照月份进行排序;
-n:按照数字进行排序;
-r:反向排序;
-u:等同于 uniq,表示相同的数据仅显示一行;
-t:指定分隔符,默认使用[Tab]键分隔;
-o <输出文件>:将排序后的结果转存至指定文件;
-k:指定排序区域。
用法举列
#将/etc/passwd 文件中的账号进行排序
[root@localhost ~]# sort /etc/passwd
#将/etc/passwd 文件按照第三列大小 进行反向排序
[root@localhost ~]# sort -t ':' -rk 3 /etc/passwd
#将/etc/passwd 文件按照第三列大小进行排序,并将输出内容保存至 user.txt 文件中
[root@localhost ~]# sort -t ':' -k 3 /etc/passwd -o user.txt
[root@localhost ~]# cat user.txt
Uniq 工具
Uniq 工具在 Linux 系统中通常与 sort 命令结合使用,用于报告或者忽略文件中的重复行
常用选项
-c:进行计数;
-d:仅显示重复行;
-u:仅显示出现一次的行。
用法举列
[root@localhost ~]# vi 1.txt
11
22
33
33
33
44
44
55
55
55
#删除 testfile 文件中的重复行
[root@localhost ~]# uniq 1.txt
11
22
33
44
55
#删除 testfile 文件中的重复行,并在行首显示该行重复出现的次数
[root@localhost ~]# uniq -c 1.txt
1 11
1 22
3 33
2 44
3 55
#显示重复的行
[root@localhost ~]# uniq -d 1.txt
33
44
55
#仅显示“不连续”重复的行
[root@localhost ~]# uniq -u 1.txt
11
22
tr 工具
tr 命令常用来对来自标准输入的字符进行替换、压缩和删除。可以将一组字符替换之后变成另一组字符,经常用来编写优美的单行命令,作用很强大。
常用选项
语法格式
tr [选项] 参数
-c:保留字符集1的字符,其他的字符用(包括换行符\n)字集符2替换
-d:删除所有属于字符集1的字符
-s:将重复出现的字符串压缩为一个字符串;用字符集2替换字符集1
-t:字符集2 替换 字符集1 ,不加选项同结果
参数:
字符集1:指定要转换或删除的原字符集,当执行转换操作时,必须使用参数 “字符集2” 指定转换的目标字符集
但执行删除操作时,不需要参数 “ 字符集2 ”
字符集2:指定要转换成的目标字符集
用法举列
#把a换成b
[root@localhost ~]# echo "abc" | tr "a" "b"
bbc
#保留ab其他全部换成o 输出完结果换行
[root@localhost ~]# echo abcdef | tr -c "ab\n" "o"
aboooo
#删除所有llo
[root@localhost ~]# echo "hello word" | tr -d "llo"
he wrd
#删除重复的字符
[root@localhost ~]# echo "thisss is a diiiiiiiisk" | tr -s "si"
this is a disk
#删除多余的换行
[root@localhost ~]# echo -e "aa\n\n\n\nbb" |tr -s '\n'
aa
bb