正则三剑客-------grep

什么是正则?

            正则是一窜有规则的字符,掌握好正则对编写shell脚本有很大帮助

正则三剑客-----grep

grep [ -cinvABC] 'word' filename

    -c 行数

    -i 不区分大小写

    -n 显示行号

    -v 取反

    -r  遍历所有子目录

    -A 后面跟数字,过滤出符合要求的行以及下面n行

    -B 同上,过滤出复合要求的行以及上面的n行

    -C 同上,同时过滤出符合要求的行以及上下各n行

    示例:

       grep -n 'root' /etc/passwdd   //打印出/etc/passwdd文件中有root的行,并显示行号。

       grep -nv ‘nologin’ /etc/passwd  //打印/etc/passwd文件中出除了含有nologin的所有行,并显示行号

       grep '[0-9]' /etc/inittab     //显示包含0-9所有的行

       grep -v '[0-9]' /etc/inittab  //显示出不包含0-9数字的行

       grep -v '^#' /etc/inittab //查看除了以#开头的信息
       grep -v '^#' /etc/inittab|grep -v '^$' //不显示被注释的行,同事显示含有$的行
       grep '^[^a-zA-Z]' test.txt //显示不是以字母开头的行
       grep 'r,o' test.txt // 显示文件中r.o的哪一行
       grep 'oo*' test.txt //显示文件中oo后+任意一个字符的行
       grep '.*' test.txt //显示文件中全部内容
       grep 'o\{2\}' /etc/passwd //精确匹配o两次

posted @ 2021-07-01 19:28  渝怀。  阅读(38)  评论(0编辑  收藏  举报