Linux基础之正则表达式,用户、组管理命令介绍

2019-10-13 20:53:52于丽

通配符(Globbing)

通配符与元字符类似,通配符主要用于文件名的匹配,而元字符则主要用在字符串的匹配上;
下面介绍几种常用的通配符:

* 表示匹配任意位数的任意字符
? 表示匹配一位任意字符
^ 表示取反,不包含的意思
[] 表示此区间内的任意一个字符
{} 表示一种集合
转义字符,使具有特殊意义的字符失去原有意义
| 表示‘或',匹配一组可选的字符

元字符

元字符是用来描述字符的特殊字符。
常用的元字符及意义如下:

*      重复前面的字符0次或者多次
.      匹配任意字符一次
+     匹配前面的字符1次或者多次
?     匹配前面的字符0次或者1次
{m}    匹配其前面的字符m次
{m,n}   匹配前面的字符至少m次,至多n次
^      匹配字符在行首
$      匹配字符在行尾
^$     匹配空白行。空格、0不算
<     匹配字符在词首
>     匹配字符在词尾
<string> 精准匹配string
(xy)   xy表示一个分组
1     模式从左侧起,第一个左括号以及与之匹配的右括号之间的模式所匹配的字符

除了以上的常用的元字符,还有一些特殊的元字符:

[:alpha:]  所有大小写字母
[:upper:]  所有大写字母 
[:lower:]  所有小写字母
[:alnum:]  所有字母及数字
[:punct:]  所有标点符号
[:blank:]  空白键和TAB键
[:space:]  任意空白的字元,空格、tab、CR等
[:digit:]  任意数字,0-9
[:print:]  任何可以被打印出来的字符

grep

grep, egrep, fgrep - print lines matching a pattern
【SYNOPSIS】
  grep [OPTIONS] PATTERN [FILE...]
  grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
【OPTIONS】
  --color=auto  对匹配到的内容进行高亮显示处理
  -i,--ignore-case
     Ignore case distinctions in both the PATTERN and the input
     files. (-i is specified by POSIX.)忽略字符大小写匹配
  -v,--invert-match
     Invert the sense of matching, to select non-matching lines.
     (-v is specified by POSIX.)显示没有匹配到的行
  -o,--only-matching
     Print only the matched (non-empty) parts of a matching line,
     with each such part on a separate output line.只显示匹配到的部分
  -q,--quiet,--silent静默模式,不列举任何内容
  -w,--word-regexp  单词完整匹配所在的行
  -d, --directories=ACTION how to handle directories; ACTION is 'read', 'recurse', or 'skip',目录表示方式:只读、递归、跳过
  -r,-r, --recursive      like --directories=recurse
  -c,--count print only a count of matching lines per FILE匹配到的文件有多少行
  -B,--before-context=NUM print NUM lines of leading context列出匹配到的前NUM行
  -A,--after-context=NUM  print NUM lines of trailing context列出匹配到的后NUM行
  -C,--context=NUM   print NUM lines of output context列出匹配到的前后几行