grep命令详解

grep命令是*nix上匹配行的一个工具,可以用来搜索匹配的行,对于查找指定字符和字符行非常好用,grep非常有效grep家族包含grep,egrep,fgrep,

grep使用的是基本元字符,egrep使用的是扩展正则表达式,,可以使用grep -E来使用egrep,使用grep -F来使用fgrep,或者直接使用egrep,fgrep,一般

来说grep,egrep比较常用,较少使用fgrep.下面来主要介绍grep和egrep.

语法格式为      grep [OPTIONS] PATTERN [FILE...]
                     grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]


grep的常用选型

-i: 不区分大小写

-n: 匹配行显示行号

-v: 反向匹配,显示不匹配的行

-w:匹配字母和数字

-c:显示匹配的行数

--color:用颜色显示匹配到的字符

-o:仅显示匹配的字符

-A:显示匹配的后几行

-B:显示匹配的前几行

-C:显示匹配的上下几行

基本元字符

^ :锚定行首

$ :锚定行尾

. :零个或一个字符

* :一个字符

[]: 里面任一字符

[^]:非^后的字符

\(..\)  后向引用

\<   :锚定字符

x\{m\}  字符x出现m次

x\{m,\}  字符m大于m次

x\{m,n\}  字符出现大于等于m次小于n次

\w :匹配单词

\W

\b 匹配单词词首或词尾

扩展元字符
        ?  :0个或1个前面字符
        +  :1个或多个前面字符
        () :一个表达式,可以用来后向引用  
        |  :左右两边或者,表示选择

POSIX字符类

[:alnum:]

文字数字字符

[:alpha:]

飞数字字符字符

[:digit:]

数字字符

[:graph:]

非空字符(非空格、控制字符)

[:lower:]

小写字符

[:cntrl:]

控制字符

[:print:]

非空字符(包括空格)

[:punct:]

标点符号

[:space:]

所有空白字符(新行,空格,制表符)

[:upper:]

大写字符

[:xdigit:]

十六进制字符

实例

1、显示/proc/meminfo文件中以大小写s开头的行;
        grep [Ss]  /proc/meminfo
    2、取出默认shell为非bash的用户;
      grep -v 'bash' /etc/passwd
    3、取出默认shell为bash的且其ID号最大的用户;
        grep 'bash' /etc/passwd | cut -d: -f3 |sort |tail -1
    4、显示/etc/rc.d/rc.sysinit文件中,以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
       grep '^#[[:space:]]\{1,\}[[:space:]]\{1,\}'  /etc/rc.d/rc.sysinit
    5、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
            grep '^[[:space:]]\{1,}' /boot/grub/grub.conf
    6、找出/etc/passwd文件中一位数或两位数;
            grep '\<[0-9]\{1,2\}\>' /etc/passwd
    7、找出ifconfig命令结果中的1到255之间的整数;
                ifconfig eth0|egrep '2[0-5][0-5]|1[0-9][0-9]|[1-9][0-9]|[0-9]'
    8、查看当前系统上root用户的所有信息;
                  grep '\<root\>' /etc/passwd
    9、添加用户bash和testbash、basher,而后找出当前系统上其用户名和默认shell相同的用户;

grep '^\([[:alpha:]]\{1\}\.*\1$'  /etc/passwd

10、找出netstat -tan命令执行的结果中以“LISTEN”或“ESTABLISHED”结尾的行;

                  netstat -tan |egrep 'LISTEN|ESTABLISHED[[:space:]]\{1,\}$'
    11、取出当前系统上所有用户的shell,要求:每种shell只显示一次,且按升序显示;

cat /etc/passwd |cut -d: -f7 | sort -u

转载于:https://blog.51cto.com/limeizhi/1362238

grep,egrep及元字符和posix字符集相关推荐

  1. 正则表达式grep, egrep, fgrep

    grep,egrep,fgrep : print lines matching a pattern 1.grep : grep [options] PATTERN FILE... PATTERN由元字 ...

  2. grep, egrep, fgrep笔记

    grep, egrep, fgrep grep: 根据模式搜索文本,并将符合模式的文本行显示出来. Pattern: 文本字符和正则表达式的元字符组合而成匹配条件 grep [options] PAT ...

  3. grep/egrep和正则表达式汇总

    grep, egrep, fgrep 语法格式: grep [option] ... 'PATTERN' FILE --color=auto 对目标FILE进行搜索,显示能够匹配的行 正则表达式 基本 ...

  4. 9.grep/egrep详解

    这一小节重点讲解了grep和egrp的用法,这个命令在linux当中用的非常频繁,需要熟练掌握,下一小节会需要结合grep/egrep来详细讲解正则表达式的使用方法. 文章目录 前言 一.Grep详解 ...

  5. grep / egrep

    grep命令 语法:grep [-cinvABC] 'word' filename -c:打印符合要求的行数 -i:不区分大小写 -n:在输出符合要求的行的同时连同行号一起输出 -v:打印不符合要求的 ...

  6. Shell命令-文件及内容处理之grep(egrep)、join

    文件及内容处理 - grep(egrep).join 1. grep(egrep):文本过滤工具 grep(egrep)命令的功能说明 grep命令是Linux系统中最重要的命令之一,其功能是从文本文 ...

  7. grep egrep命令中-w选项的用法

    20171015老男孩第41期第6周课程中讲到了grep/egrep命令的四个选项: 1. -i 不区分大小写,即不区分:aA 2. -w 按照单词 进行匹配(括号外的意思是老师讲的,但我总感觉这样理 ...

  8. Linux grep,egrep及相应的正则表达式用法详解

    linux在进行文本处理过程中的文本搜索工具称为正则表达式.文本搜索工具有grep.egrep.fgrep,egrep为正则表达式的扩展正则表达式,fgrep用于搜索文本字符串,与 grep 和 eg ...

  9. linux 文本搜索命令 grep egrep fgrep 区别

    grep 传统的 grep 程序, 在没有参数的情况下, 只输出符合 RE 字符串之句子. 常见参数如下: -v: 逆反模示, 只输出"不含" RE 字符串之句子. -r: 递归模 ...

最新文章

  1. dev treeview控件_在Winform开发框架中使用DevExpress的TreeList和TreeListLookupEdit控件
  2. R可视化绘制威布尔分布(Weibull Distribution)
  3. matlab多维数组、结构体数组
  4. 【Kotlin】Kotlin 类的继承 三 ( super 关键字使用 | super@ 外部调用父类方法 | 子类选择性调用 父类 / 接口 方法 super )
  5. 【8-23】MFC学习笔记 01
  6. 【渝粤教育】电大中专消费者行为学 (3)作业 题库
  7. Hystrix-超时机制和断路器模式
  8. 你想要的单片机自学指南都在这里(大一必看)
  9. 2018 蓝桥杯 省赛 B组 原题 C语言B组 第二题 第九届蓝桥杯真题+答案+解析
  10. 三极管原理及特性分析
  11. Excel工作日日历
  12. 云计算概念_云计算的概念
  13. java简单冒泡排序代码,跳槽大厂必看!
  14. 实验题目:约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数。从第一个人开始顺时针方向自1起顺序报数,报到m时停止并且报m的人出列,再从他的下一个人
  15. 驱动——LED灯循环闪烁
  16. 码元传输速率计算及运用
  17. 版本管理工具 git和SVN 忽略文件和目录
  18. 魅族手机刷ubuntu php,手机变PC的第一步:给魅族PRO 5刷Ubuntu Touch系统 - IT之家
  19. 码农微信公众账号推荐
  20. Win7下更改iTunes备份路径最便捷的方法(亲测win10同样适用)

热门文章

  1. python单词统计、给定一个段落()_数训营第一课笔记:Python基础知识
  2. 信息论与编码_哈夫曼编码
  3. 微型计算机与维修自测,微机系统及维护第三章自测.doc
  4. 在哪里刷题_刷题过程中,这些坑你踩了几个?
  5. Mongodb的安装部署
  6. Spark详解(五):Spark作业执行原理
  7. [RDMA] 高性能异步的可靠消息传递和RPC :Accelio
  8. 调用 标签打印软件_标签打印软件如何制作陶瓷标签模板
  9. c++求矩阵的秩_一篇文章搞定矩阵相关概念及意义通俗解释汇总
  10. Domain Model