Linux教程(13)- Linux中的通配符和正则表达式
Linux中的通配符 用于shell脚本
*:匹配任意多个字符 比如列出p开头的所有文件和文件夹
?:匹配任意一个字符 比如pass后面任意两个字符
[…]:匹配中括号内出现的任意一个字符
[!…]:不匹配中括号内出现的任意一个字符
正则表达式 用于字符串处理
字符匹配
.:匹配任意单个字符
*:匹配其前面一个字符出现任意次
?:匹配其前面的字符1次或0次
+:匹配其前面一个字符出现至少一次(在扩展正则表达式中)
分组() :
(ab)* : 匹配ab这个分组出现任意次
\1:引用第一个左边以及与之对应的右边所包括的所有内容,同理还有\2,\3
特殊子字符类:
[:alnum:] :任何字母和数字
[:alpha:] :任何字母
[:cntrl:] :控制字符. 在ASCII表中对应八进制000 到 037, 和177 (‘DEL’).
[:digit:] :任何数字
[:graph:] :匹配打印字符,相当于’[:alnum:]’ +’[:punct:]’.
[:lower:] :小写字母
[:print:] :可打印字符,相当于 ‘[:alnum:]’, ‘[:punct:]’, 和space.
[:punct:] 标点符号,’! ” # $ % & ’ ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ’ { | } ~’
[:space:] 空白字符,tab, newline, vertical tab, form feed, carriage return, and space.
[:upper:] 大写字母
[:xdigit:] 任何16进制的数字,相当于[0-9a-fA-F]