目录
一.sort
常用选项
选项 | 功能 |
---|---|
-t | 指定分隔符,默认使用 [Tab] 键或空格分隔 |
-k | 指定排序区域,哪个区间排序 |
-n | 按照数字进行排序,默认是以字母形式排序 |
-r | 反向排序,默认升序, |
-u | 等同于uniq,表示相同的数据仅显示一行,注意:如果行尾有空格去重就不成功 |
-o | 将排序的结果转存至指定文件 |
sort 例子
1、不加任何选项 如:sort /etc/passwd
#默认以字符排序(a b c d),如果第一个字母相同,比较第二个,以此类推
sort -t: -k3 -n passwd 按照第三排数字进行排序
sort -t: -k3 -n -r passwd 按照第三排数字进行倒序
2、 去重 (sort -u)
去掉重复的内容并按顺序进行排序
3、 指定分隔符(-t),指定排序的列(-k),升序排列
以第3列数字进行排序
4、指定分隔符,指定排序的列,降序排列(-r)
二.uniq 举例
1、uniq 不加任何选项
去除重复的行,按原顺序排列
2、统计文件内容出现的次数 uniq -c
###前面是内容(字符或数字)出现的次数 后面是内容
3、 uniq -u 只显示出现1次的行
4、uniq -d 只显示有连续重复的行
5、 统计历史登录过系统的用户
结合sort使用
三、tr 转换或删除文件中的字符
1、tr功能及格式
可以用一个字符来替换另一个字符,
或者可以完全除去一些字符
还可以用来去掉重复的字符
从标准输入中替换,缩减和注释或删除字符,并将结果写到标准输出
格式: tr [选项] '字符集1' '字符集2'
2、tr 的常用选项
选项 | 功能 |
---|---|
-d | 删除字符 |
-s | 删除所有重复出现的字符,只保留一个(如果是空行,全部去掉) |
-c | 反向取值 |
3、tr 例子
①将所有小写换成大写 tr 'a-z' 'A-Z'
②当转换数值不足时,一直转换成最后一个 tr 'lisi' '123'
③ 将字符替换成特殊字符 tr 'i' ' '
④ 删除匹配到的字符 tr -d 'i'
⑤对连续的字符去重 tr -s 'i'
对连续的字符去重 tr -s 'w'
⑥tr -c 反向取值
[root@gang mnt]#cat /dev/urandom |tr -dc '[:alnum:]' | head -c12
head -c 取字符 [:alnum:] 数字字母 12 取前12个
四、cut 列截取工具(切片)
1、cut概述
cut命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定file 参数,cut命令将读取标准输入。必须指定 -b(字节) 、-c(字符) 或 -f(第几列) 标志之一。
字符和字节的区别
字节(byte) : 是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下1字节等于8位
字符(character) :计算机中使用的字母、数字、字和符号
一般在英文状态下,一个字母或字符占用一个字节, 一个汉字占用两个字节 。
2、常用选项
格式:cut [选项] [文件路径]
选项 | 功能 |
---|---|
-b | 按字节截取 |
-c | 按字符截取,常用于中文 |
-d | 指定以什么为分割符截取,默认为制表符 |
-f | 通常和-d一起使用(表示截取第几列 |
3、cut 例子
cut -b 4截取第四个字符
cut -b 4,10-14 截取第四个字符及第10到14个字符
4、paste 粘贴
paste -d 指定分隔符
五、找出访问量最高的10个ip
五.正则表达式
-
通常用于判断语句中,用来检查某一个字符串是否满足某一格式
-
正则表达式是由普通字符与元字符组成;普通字符包括大小写字母、数字、标点符号及一些其他符号
-
元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符或表达式)在目标对象中的出现模式
基础正则表达式常见的元字符
(支持的工具:grep、egrep、sed、awk)
常用转义符 | 介绍 | 示例 |
---|---|---|
\ | 转义字符,用于取消特殊符号的含义 | \ !、\n、$等 |
^ | 匹配字符串开始的位置 | ^ a、^ the、^ #、^ [a-z] |
$ | 匹配字符串结束的位置 | word$、匹配空行 |
. | 匹配除\n之外的任意的一个字符 | go.d、g…d |
* | 匹配前面子表达式0次或者多次, | goo*d、go.*d、^go.*d$ |
总结
可以通过正则表达式来对普通字符和元字符来进行表示,需要知道基础正则表达式和扩展正则表达式的使用