文本查找的需要:grep  egrep fgrep(fastgrep)
grep:全面搜索 global research 根据某个模式,去搜索文本,并将符合模式的文本行显示出来
pattern:文本字符和正则表达

grep [OPTIONS] PATTERN [FILE...]
-i忽略大小写
--color:以颜色来识别
-v:显示没有被模式匹配到的行
-o:只显示被模式匹配到的字符串

-E:使用扩展正则表达式(egrep=grep -E)

-A跟数字:显示被匹配到以及向下两行

-B跟数字:显示被匹配到以及向上两行

-C跟数字:显示被匹配到以及向上下两行


grep ‘root’ /etc/passwd

没有正则表达式,不用“”也行

单引号表示强引用,双引号表示弱引用,只要不涉及变量引用,单双引号都可以

正则表达式:REGular EXPression简写REGEXP
元字符
.:匹配任意单个字符
匹配次数(贪婪模式)
*:匹配其前面的字符任意次
   a,b,ab,aab,acb,adb,amnb
   a*b
   a.*b
.*:任意长度的任意字符
\?:匹配其前面的字符1次或0次(可有可无的)
\{m,n\}:匹配其前面的字符至少m次,至多n次
    \{1,\}
    \{0,3\}

位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
^$:空白行

\<或\b:锚定词首,其后面的任意字符必须作为单词首部出现
\>或\b:锚定词尾,其前面的任意字符必须作为单词的尾部出现


基本正则表达式 basic REGEXP  
扩展正则表达式

分组
\(\)
\(ab\)*反向引用 \1:引用第一个左括号以及与之对应的右括号所包括的所有内容

基本正则表达式 basic REGEXP  
扩展正则表达式
.:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定不在范围内的任意单个字符

次数匹配:
*:匹配其前面的字符任意次
?:任意单个字符
+:匹配其前面的字符至少1次

|:or或 C|cat