排序命令sort、uniq和字符转换命令tr以及正则表达式
文章目录
一、sort命令
以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序
- 格式:
sort [选项] 参数
cat file | sort 选项
- 常见选项及其功能
常见选项 | 作用/功能 |
---|---|
-f | 忽略大小写,例如A与a视为编码相同 |
-b | 忽略最前面的空格字符部分 |
-M | 以三字符月份来进行排序,例 JAN、DEC |
-n | 按照数字进行排序 |
-r | 反向排序 |
-u | 就是uniq,相同的数据仅显示一行 |
-t | 指定分隔符,默认使用[Tab]键来分隔 |
-k | 指定排序字段 |
-o | 将排序后的结果转存到指定文件 |
例1:
①个人账户都记录在/etc/passwd下,使用cat /etc/passwd | sort进行排序,默认按照【第一个字符】排序,而且是以【文字】形式来排序,所以由a排到最后
②以第三栏来排序,当没有加-n的时候可以看到,并没有按照数字大小进行排序,一团糟
③如果要把排序后的结果输出到其他文件可以使用-o 【文件位置】,不需要再重新新建文件,会自动建立个11.txt
sort -t ':' -k 3 -n /etc/passwd -o 11.txt
查看输出后的结果
④另外加上-n告诉sort以数字来排序以后,非常清晰
⑤再加上-r进行反向排序
例2:
①自创个1.txt文件,用sort进行排序。可得知优先级 空行>数字>字母顺序>小写字母>大写字母,在此基础上(空格>制表符)
用cat -A能清楚的查看到相关特殊符号