Shell 正则表达式

1通配符共有6种

*(星号)表示任何字符串。例:*log*表示含有log的字符串。

?(问号)表示任何单个字符。例:a?b表示由a、任意字符和b组成的字符串。

[](一对方括号)表示一个字符序列,字符序列可以直接包含若干字符。例:[ab-c]表示a、b、c之间的任一字符,不包括'-'。除连字符‘-’外,其他特殊字符在[]里都是普通字符,包括*和?。

!(感叹号)在[]中使用!表示排除其中任意字符。例:[!ab]表示不是a或b的任一字符。

^(幂号)只在一行的开头匹配字符串,例:ls-1.^d表示所有目录。

$(美元号)只在行尾匹配字符串,它放在匹配单词的后面。例:linux$表示以单词linux结尾的所有文件。

2模式表达式

*  file*(.c|.o)表示匹配file.c、file.o、file.c.o、file.o.c file 但不匹配file.h

+  file+(.c|.o)表示匹配file.c、file.o、file.c.o、file.o.c但不匹配file

?  file?(.c|.o)表示匹配file.c、file.o file但不匹配file.c.o、file.o.c

@ file@(.c|.o)表示匹配file.c、file.o 但不匹配file.c.o、file.o.c、file

你可能感兴趣的:(Shell 正则表达式)