锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

Linux之grep、egrep、fgrep

时间:2023-08-21 07:07:00 二极管lkes07cfc

grep:Global Search Regular Expression And Print Out The Line     功能:文本搜索工具,目标文本根据用户指定的模式(过滤条件)进行匹配检查;打印匹配行     模式:由正则表达式元字符和文本字符编写的过滤条件      grep         grep [OPTIONS] PATTERN [FLE..]         grep [OPTIONS] [-e PATTERN | -f FILE] [FILE..             OPTIONS:                 --Color-auto:匹配的文本着色后亮点显示                 -i忽略字符的大小写                 -o:只显示匹配的字符串本身                 -V:模式无法匹配显示的行                 -E:正则表达式元字符支持扩展的使用                 -q:静默模式,即不输出任何信息;                 -A #: after, 后#行                 -B #: before, 前#行                 -C #: context, 前后各#行             基本正则表达式元字符:                 字符匹配:                     .:匹配任意单个字符                     []:在指定范围内匹配任何单个字符                     [^]:在指定范围外匹配任何单个字符                         [digit:]、[:lower:]、[upper]、[alpha:]、[alnum:]、[punct:]、[:space:]             匹配次数:用于指定字符出现次数的,限制前面字符出现的次数                 *:匹配前面的字符; 0,1,多次                 .*:匹配任何字符的任何字符                 \?:匹配前面的字符0次或1次;也就是说,前面的字符是可有可无的                 \ :匹配前面的字符一次或多次;即其表面的字符至少应出现一次                 \{m\}:匹配前面的字符m次                 \{m,n\}:至少匹配前面的字符m次,至多n次                 \{0,n\}:至多n次                 \{m,)}:至少m次             位置锚定:                 ^:行首锚定;模式最左侧                 $:行尾锚定;模式最右侧                 ^PATTERN$:用于PATTERN来匹配整行                 ^$:空白行                 ^[:space:]*$: 空行或包含空白字符的行             单词:由非特殊字符组成的连续字符(字符串)称为单词                 \<或\b:词首锚定,用于单词模式的左侧                 \>或\b: 词尾锚定,用于单词模式的右侧                 \:匹配完整单词              练习:                 1、显示/etc/passwd文件中不是/bin/bash结尾的行                 2、找出/etc/passwd文件中的两位数或三位数                     ~]# grep "\<[0-9]\{2,3\\>" /etc/passwd                 3、找出/etc/rc.d/rc.sysinit或etc/rub2文件中, 以至少一个腔白字符开始,而后面的非空白字符线;                 4、找出"netstat -tan"命令结果中以LISTEN后跟0、1或多个空白字符的结尾             分组及引用                 \(\)将一个或多个字符绑在一起, 当作- -整体处理;                     \xy\)*ab                 Note:正则表达式引擎自动记录分组括号中模式匹配的内容,即:                     \1:模式从左侧开始,第一个左括号匹配的第一个左括号和字符;                     \2:模式从左侧开始,与右括号模式匹配的第二个左括号和字符;                     \3...                     ...                             He loves his lover.                            He lkes his lover.                            She lIkes her lker.                            She loves her lker.                            ~]# grep "\(l...e\).*\l" lovers.txt                 后引用:引用前面分组括号中匹配的字符  egrep     egrep [OPTIONS] PATTERN [FLE..J.     选项:         -o,-v,-q, A, -B, -C         -G:支持基本正则表达式     扩展正则表达式元字符:         字符匹配:         .:任何单个字符         []:指定范围内的任何单个字符         [^]:指定范围外的任何单个字符     次数匹配:     *:任意次,0,1或多次     ?: 0次或1次,前面的字符是可有可无的      :至少一次前面的字符     {m}:前一个字符m次     {m,n}:至少m次,最多n次         {0,n}         {m}     位置锚定         ^:行首锚定         $:行尾锚定         \<, \b: 词首锚定         \>, \b:词尾锚定     分组及引用:         ():分组;括号中模式匹配的字符将记录在正则表达式引擎的内部变量中         后向引用: \1, \2, ...     或:         a|b: a或者b;             C|cat: C或cat             (c|C)at: cat或Cat     练习:         1、找出/proc/meminfo文件中,大写或小写s开头的所有行;至少有三种实现方法         2.显示当前系统root, centos或user用户的相关信息         3、找出/etc/rc.d/init.d/functions文件中的一个单词后面有一个小括号         4、使用echo命令输出-绝对路径,使用egrep取出基名         5、找出ifconfig命令结果 1-255之间的值         6.课外作业:找出来ifconfig在命令结果中IP地址         7、添加用户bash, testbash, basher以及nologin(其shell为/sbin/nologin);而后找出/etc/passwd用户名在文件中相同shell名的行 fgrep:正则表达式元字不支持     不需要元字符 使用编写模式fgrep必能更好 
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章