正则表达式是用来匹配文本内容的
在shell脚本中可以使用grep来测试正则表达式
1.元字符
* 表示匹配该元字符前面的一个普通字符0次或者多次,也就是说 * 的作用范围只是它前面的一个字符
例如:
cat test.txt | grep rev
这条语句的意思就是查找text.txt文档中的rev 这个字符串 其中|是输出管道的意思
^ 行首定位符
例如:
ls /etc |grep "^op"
这条语句表示查找etc目录下以字符串op开头的文件
$ 行尾定位符
ls /etc | grep "conf$"
这条语句表示查找以conf结尾的文件
^$ 表示查找空字符
. 单个字符匹配 包括空格 ‘\n’ 除外 .位置必须要有一个字符
备注:也可以使用连续的点来表示多个字符
[ ] 字符集匹配
[abc] 方括号表示该位置匹配一个含有字符a或者b 或者c
如果是连续的数字或者字母可以写成[0-9]和[a-z]或者[A-Z]
当元字符*和.位于[]位置,则为普通字符
例如:[*] 表示查找字符*
[^]字符不匹配集
ls /etc/ | grep [^pt]