文本查找查找命令的grep 、egrep、fgrep用法的详解

一、学习目标

了解并能熟悉运用grep、egrep、fgrep命令。

二、学习内容

1、grep、egrep、fgrep命令的意思和用法格式 :

grep:是使用基本正则表达式定义的模式来过滤文本的命令。

# grep [options] PATTERN  [FILE,...]

egrep  :是使用扩展正则表达式的模式来过滤文本的命令。

# egrep [options] PATTERN  [FILE,...]

fgrep:不支持正则表达式,是使用文字本身的意义的模式来过滤文本的命令。

# fgrep [options] PATTERN[FILE,...]

注:PATTREN:  文本字符和正则表达式的元字符组合而成的匹配条件

2、grep命令常用的option

-i : 忽略字符的大小写

--color: 对pattern的内容加上颜色

-v:显示没有被匹配的行

-o:只显示被模式匹配到的字符串

-E:使用扩展的正则表达式 ==egrep

-F:==fgrep

-A n: 同时显示被pattern的内容的后n行

-B n:同时显示被pattern的内容的前n行

-C n: 同时显示被pattern的内容的前后n行

3、了解什么是正则表达式

正则表达式分为:基本正则表达式和扩展正则表达式

(1)基本正则表达式有 :

字符匹配:

. :表示匹配任意单个字符

[] :表示匹配指定范围内的任意单个字符

[^]:表示指定范围之外的任意单个字符

[:space:]: 空白字符

[:punct:]:标点符号

[:lower:]:小写字母

[:upper:]:大写字母

[:alpha:]:大小写字母

[:digit:]:数字

[:alnum:]:数字和大小写字母

匹配次数:

*: 匹配其前面字符任意次

.*:匹配前面字符任意长度和任意次数

\? :匹配前面的字符一次或0次

\{m,n\}:匹配前面字符至少m次,至多n次

位置锚定:

^:锚定行首,此字符后面的任意内容必须出现在行首

$:锚定行尾,此字符前面的任意内容必须出现在行尾

^$:空白行,

\<:其后面的内容必须作为单词的首部出现

\>: 其前面的内容必须作为单词的尾部出现

分组:

\(\) : 将括号的内容作为一个整体

\1 : 指第一个左括号和与之对应的右括号的所有内容

\2: 指第二个左括号和与之对应的右括号的所有内容

.....

(2)扩展的正则表达式:

字符匹配:(与基本的正则表达式中的相同)

次数匹配:

*:匹配其前面字符任意次

?:匹配前面的字符一次或0次

+:匹配前面字符至少一次

{m,n}:匹配前面字符至少m次,至多n次

锚定匹配:(与基本的正则表达式中的相同)

分组: ():把括号里的内容作为一个整体  \1 \2 \3 ....

或者:   | :表示或者

4、命令的使用演示

----------------------------------------------------------------------

1、显示/proc/meminfo文件中以不区分大小的s开头的行;

2、显示/etc/passwd中以nologin结尾的行;

取出默认shell为/sbin/nologin的用户列表

取出默认shell为bash,且其用户ID号最小的用户的用户名

3、显示/etc/inputrc中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行;

4、显示/etc/passwd中包含了:一个数字:(即两个冒号中间一个数字)的行;

5、显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行;

7、找出/proc/cpuinfo文件中的,1位数和2位数

8、找出ifconfig命令结果中的1-255之间的整数;

9、查找当前系统上名字为student(必须出现在行首)的用户的帐号的相关信息,  文件为/etc/passwd

11、显示所有以小写字母开头且数字结尾且文件名中不包含空白的文件;

如果大家看了这文章觉得有问题,欢迎提出来,也欢迎大家来一起讨论,一起提高!

转载于:https://blog.51cto.com/luzhi1024/1528490

文本查找查找命令的grep 、egrep、fgrep用法的详解相关推荐

  1. grep, egrep, fgrep笔记

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

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

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

  3. grep(模式匹配器)详解

    1.grep, egrep, fgrep的区别 grep(global search regular expression and prind out the line)全称就叫全面搜索正则表达式并打 ...

  4. python3.6.6卸载_Python3.6安装卸载、执行命令、执行py文件的方法详解

    Python3.6安装卸载.执行命令.执行py文件的方法详解 开发一个功能,C/C++可能要500行代码,Java可能需要200行代码,然而Python可能需要50行代码,虽然代码少,可能开发的飞起, ...

  5. top命令参数详解(linux top命令的用法详细详解)

    通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高. top命令输出长这样: top命令参数详解(linux top命令的用法详细详解) 以下解析一下各个字段 ...

  6. python 命令-python解析命令行参数的三种方法详解

    这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...

  7. 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]

    博客园 首页 新随笔 联系 订阅 管理 随笔 - 322  文章 - 0  评论 - 19 Linux命令-自动挂载文件/etc/fstab功能详解[转]     一./etc/fstab文件的作用 ...

  8. 红石32位cpu通用计算机,我的世界无命令方块32位红石电脑装置详解

    来源:游戏园日期:2019-05-14 04:03:07 我的世界无命令方块32位红石电脑装置详解.那下面给大家分享的是我的世界中的一个叫做机器编号为RSC-3230的红石电脑装置哦~有喜欢的顽疾啊不 ...

  9. php fping,【Linux 命令】fping ping 包间隔时间详解

    服务器间检查会用到fping的命令,期间遇到了一个问题,需要将ping包间的间隔时间设置为100毫秒,查看fping -h看下,找到了-i和-p两个参数: 看到这两个参数,我当时的表情是这样的: 看不 ...

最新文章

  1. 简单网页制作html语言,html基本操作,看了这些你就能做简易网页
  2. 微盟616零售购物节观察:私域流量增值是社交生态的真实价值
  3. html fmt转换日期格式,js通用时间格式转换函数
  4. 肖仰华 | 领域知识图谱落地实践中的问题与对策
  5. 如何搭建一个 Data Guard 环境
  6. Idea进行远程Debug
  7. 【OpenCV 例程200篇】92. 指数噪声、均匀噪声、椒盐噪声
  8. 中希尔排序例题代码_十大经典排序算法最强总结
  9. abp angular 和mvc_MVC - abp-angular - 博客园
  10. 拟牛顿法/Quasi-Newton,DFP算法/Davidon-Fletcher-Powell,及BFGS算法/Broyden-Fletcher-Goldfarb-Shanno...
  11. 【转】心等久了就会死心
  12. 如何应对美国对开源项目的出口管制?这是Linux基金会的建议
  13. 已知鸡兔的脚一共80只C语言,鸡兔同笼鸡比兔多10只但鸡脚却比兔脚少60只问鸡兔各几只...
  14. python绘制3d点云_python – 来自点云的3D凸包
  15. 牛皮凉席不好的原因!
  16. HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理
  17. 第三天python作业
  18. 160413、生成随机校验码
  19. PDF时间戳数字签名
  20. 有料科普 | 三峡大坝怎么过船,无用但能吹牛皮的知识又增加了

热门文章

  1. java 中关键字_Java中的关键字
  2. 棉花糖主机送mysql_mysql操作
  3. SpringBoot整合WebSocket
  4. 睡醒了,有精神了,简单讲讲这几天的故事了
  5. 如果在CSDN博文编辑状态下获得博文最终网络链接?
  6. java 使用http2.0_【Java】okhttp3如何发送http2请求?
  7. ai怎么画循环曲线_AI插画设计,用AI制作一个只可爱的短腿柯基插画
  8. ip addr 命令:LOWER_UP字段意义
  9. 关于c语言程序开发过程 下面说法错误的是,c语言笔试真题
  10. php静态页面缓存,php处理静态页面:页面设置缓存时间实例