正则表达式与通配符

来源:互联网 发布:同花顺炒股软件使用 编辑:程序博客网 时间:2024/06/03 19:24
  • 本文为慕课网shell编程之正则表达式第一章第一节关于正则表达式与通配符的笔记,在此感谢 Tony 老师的讲解。

正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用与字符串的模式分割、匹配、查找及替换操作。

正则表达式与通配符

正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed 等命令可以支持正则表达式。

通配符用来匹配符合条件的文件名,通配符是完全匹配。ls、find、cp 这些命令不支持正则表达式,所以只能用 shell 自己的通配符来匹配了。

通配符

  • * 匹配任意内容
  • ? 匹配任意一个内容
  • [] 匹配括号中的一个字符
[root@localhost ~]# lsanaconda-ks.cfg  student.txt  test[root@localhost ~]# ls * #显示当前目录下所有内容,如果目录中有文件,则会列出目录中所有子文件anaconda-ks.cfg  student.txttest:nest1  nest2  test1  test2
[root@localhost ~]# cd test[root@localhost test]# ls ?est1nest1  test1[root@localhost test]# ls ????2 #“?”只匹配任意一个字符nest2  test2[root@localhost test]# ls *1nest1  test1[root@localhost test]# ls t* #“*”匹配任意多个字符,可以是 0 个test1  test2[root@localhost test]# ls [tn]est1nest1  test1[root@localhost test]# ls test[12] #“[]”只匹配其中一个字符test1  test2

Linux系统中,一般情况下

  • 正则用来匹配文件中的数据,通配符用来匹配文件名
  • 正则是包含匹配,通配符是完全匹配
  • 搜索字符串的命令能够识别正则,搜索文件的命令能够识别通配符
原创粉丝点击