sort
:sort排序是在内存中进行排序的,且排序算法非常的快,默认的排序规则是将文件的内容基于行的首字符进行排序,如果第一个字符相同,那么就比较第二个字符,以此类推,实现快速排序
sort排序命令讲解
格式: sort [选项] 文件名
sort /etc/passwd
:会将所有的用户从a到z进行排序
常用的选项:
-t:指定字段分隔符,便于指定排序的字段
-k:用于排序比较的字段
sort -t: -k3 -n /etc/passwd 基于用户的uid的大小进行排序
-n:基于数值大小排序
cut -d: -f3 /etc/passwd | sort 按字符进行排序
cut -d: -f3 /etc/passwd | sort -n 按数值大小进行排序
-r:逆序进行排序
sort -t: -k3 -n -r /etc/passwd
-f:忽略字符大小写
这里是由于ASCII码的原因,因为A的ASCII码为:65,a的ASCII码为97
-u:重复的行只保留一份
sort -t: -k7 -u /etc/passwd
diff patch
diff:逐行比较文件的不同,并且显示出来。
patch: 打补丁工具,将补丁打到老文件里面,也就是diff左边的那个文件,使得老文件和新文件一样
格式:diff [选项] 老文件 新文件
格式:patch [选项] 老文件
效果演示
# 比较两个文件的不同
[root@7 yhy2]# diff fstab.old fstab.new
2c2
< #
---
> # yhy
5c5
< #
---
> # yhy
# 将不同作为补丁输出到fstab.patch
[root@7 yhy2]# diff fstab.old fstab.new > fstab.patch
# 将老文件打补丁
[root@7 yhy2]# patch -i fstab.patch fstab.old
patching file fstab.old
# 再次比较两个文件时,已经没有不同的了
[root@7 yhy2]# diff fstab.old fstab.new
# 还原补丁文件
patch -R -i fstab.patch fstab.old
# 再次比较,发现fstab.old又还原了
[root@7 yhy2]# diff fstab.old fstab.new
2c2
< #
---
> # yhy
5c5
< #
---
> # yhy