正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用与字符串的模式分割、匹配、查找及替换操作。
正则表达式与通配符
正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed 等命令可以支持正则表达式。
通配符用来匹配符合条件的文件名,通配符是完全匹配。ls、find、cp 这些命令不支持正则表达式,所以只能用 shell 自己的通配符来匹配了。
通配符
- * 匹配任意内容
- ? 匹配任意一个内容
- [] 匹配括号中的一个字符
[root@localhost ~]# ls
anaconda-ks.cfg student.txt test
[root@localhost ~]# ls * #显示当前目录下所有内容,如果目录中有文件,则会列出目录中所有子文件
anaconda-ks.cfg student.txt
test:
nest1 nest2 test1 test2
[root@localhost ~]
[root@localhost test]
nest1 test1
[root@localhost test]
nest2 test2
[root@localhost test]
nest1 test1
[root@localhost test]
test1 test2
[root@localhost test]
nest1 test1
[root@localhost test]
test1 test2
Linux系统中,一般情况下
- 正则用来匹配文件中的数据,通配符用来匹配文件名
- 正则是包含匹配,通配符是完全匹配
- 搜索字符串的命令能够识别正则,搜索文件的命令能够识别通配符