二、sort命令
sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。
选项与参数:
-f :忽略大小写的差异,例如 A 与 a 视为编码相同;
-b :忽略最前面的空格符部分;
-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
-n :使用『纯数字』进行排序(默认是以文字型态来排序的);
-r :反向排序;
-u :就是 uniq ,相同的数据中,仅出现一行代表;
-t :分隔符,默认是用 [tab] 键来分隔;
-k :以那个区间 (field) 来进行排序的意思
cat /etc/passwd | sort
/etc/passwd 内容是以 : 来分隔的,我想以第二栏来排序
cat /etc/passwd |sort -t ' ' -k 2
sort -r 反向排序
cat /etc/passwd |sort -t ':' -k 3 -n
cat /etc/passwd | sort -t ':' -k 3.1,3.2
cat /etc/passwd | sort -t ':' -k 3.1,3.2 -k 1r
如果要对/etc/passwd,先以第三个域的第1个字符到第2个字符进行正向排序,再基于第一个域进行反向排序。
sort -u
或者 sort | uniq
sort | uniq -c 可以统计次数
sort file1 file2 将两个文件合并排序输出两个文件的内容
sort file1 file2 | uniq 取出两个文件的并集,去重
sort file1 file2 | uniq -u 删除文件的交集,留下其他行
sort file1 file2 | uniq -d 取出两个文件中共同存在的部分