什么是正则表达式
使用一些特殊符号+字母和数字按照某个规则组合成一个公式用来表示某个意思就叫正则表达式
元字符
元字符 --> 有特殊含义的字符,可以表示其他的含义
- ?:表示前面的字符串出现0或者1次
- *:表示前面的字符串出现0次或者任意次
- ^:表示以什么开头
- $:表示以什么结尾
- +:表示前面的字符串出现1次以上
- ^$:表示空行
- .:表示任意单个字符
- .*:表示任意个任意字符
在shell里面叫通配符
- *:代表任意个任意字符
- ?:代表一个任意字符
grep命令
一些常用选项
- -i:不区分大小写
- -o:只是显示匹配内容
- -n:显示行号
- -v:取反
- -A:在什么之后
- -B:在什么之前
- -C:在什么中间;上下文
egrep
egrep = grep -E
grep命令支持扩展正则
- 基本正则
- 元字符:* . ^ $
- 扩展正则
- 元字符:| + ? { }
基本正则和扩展正则的区别
扩展正则支持更加多的元字符,能够表示更加复杂的意思,功能更加强大
关于中括号
egrep "[abc]"表示取中括号中的一个字符,可以是a,可以是b,可以是c
[0-9]表示数字
^[^0-9]表示不是以数字开头的行 --> 里面的^表示取反;外面的^表示以什么开头
sort命令
默认情况下根据一行里的第一个字母的ASCII码值进行比较;
默认升序排序;
如果第一个字符一样,再比较第二个,依此类推
sort的分隔符是空白(空格和tab),多个空白都算一个分隔符
常用选项
- -n:进行数值的比较,默认升序
- -k:指定列排序
- -r:降序排序
uniq命令
去除重复的行;
默认情况下,只能去除连续的重复行
常用选项
- -c:统计重复的次数