文本查找查找命令的grep 、egrep、fgrep用法的详解
文本查找查找命令的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用法的详解相关推荐
- grep, egrep, fgrep笔记
grep, egrep, fgrep grep: 根据模式搜索文本,并将符合模式的文本行显示出来. Pattern: 文本字符和正则表达式的元字符组合而成匹配条件 grep [options] PAT ...
- 正则表达式grep, egrep, fgrep
grep,egrep,fgrep : print lines matching a pattern 1.grep : grep [options] PATTERN FILE... PATTERN由元字 ...
- grep(模式匹配器)详解
1.grep, egrep, fgrep的区别 grep(global search regular expression and prind out the line)全称就叫全面搜索正则表达式并打 ...
- python3.6.6卸载_Python3.6安装卸载、执行命令、执行py文件的方法详解
Python3.6安装卸载.执行命令.执行py文件的方法详解 开发一个功能,C/C++可能要500行代码,Java可能需要200行代码,然而Python可能需要50行代码,虽然代码少,可能开发的飞起, ...
- top命令参数详解(linux top命令的用法详细详解)
通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高. top命令输出长这样: top命令参数详解(linux top命令的用法详细详解) 以下解析一下各个字段 ...
- python 命令-python解析命令行参数的三种方法详解
这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...
- 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]
博客园 首页 新随笔 联系 订阅 管理 随笔 - 322 文章 - 0 评论 - 19 Linux命令-自动挂载文件/etc/fstab功能详解[转] 一./etc/fstab文件的作用 ...
- 红石32位cpu通用计算机,我的世界无命令方块32位红石电脑装置详解
来源:游戏园日期:2019-05-14 04:03:07 我的世界无命令方块32位红石电脑装置详解.那下面给大家分享的是我的世界中的一个叫做机器编号为RSC-3230的红石电脑装置哦~有喜欢的顽疾啊不 ...
- php fping,【Linux 命令】fping ping 包间隔时间详解
服务器间检查会用到fping的命令,期间遇到了一个问题,需要将ping包间的间隔时间设置为100毫秒,查看fping -h看下,找到了-i和-p两个参数: 看到这两个参数,我当时的表情是这样的: 看不 ...
最新文章
- 简单网页制作html语言,html基本操作,看了这些你就能做简易网页
- 微盟616零售购物节观察:私域流量增值是社交生态的真实价值
- html fmt转换日期格式,js通用时间格式转换函数
- 肖仰华 | 领域知识图谱落地实践中的问题与对策
- 如何搭建一个 Data Guard 环境
- Idea进行远程Debug
- 【OpenCV 例程200篇】92. 指数噪声、均匀噪声、椒盐噪声
- 中希尔排序例题代码_十大经典排序算法最强总结
- abp angular 和mvc_MVC - abp-angular - 博客园
- 拟牛顿法/Quasi-Newton,DFP算法/Davidon-Fletcher-Powell,及BFGS算法/Broyden-Fletcher-Goldfarb-Shanno...
- 【转】心等久了就会死心
- 如何应对美国对开源项目的出口管制?这是Linux基金会的建议
- 已知鸡兔的脚一共80只C语言,鸡兔同笼鸡比兔多10只但鸡脚却比兔脚少60只问鸡兔各几只...
- python绘制3d点云_python – 来自点云的3D凸包
- 牛皮凉席不好的原因!
- HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理
- 第三天python作业
- 160413、生成随机校验码
- PDF时间戳数字签名
- 有料科普 | 三峡大坝怎么过船,无用但能吹牛皮的知识又增加了
热门文章
- java 中关键字_Java中的关键字
- 棉花糖主机送mysql_mysql操作
- SpringBoot整合WebSocket
- 睡醒了,有精神了,简单讲讲这几天的故事了
- 如果在CSDN博文编辑状态下获得博文最终网络链接?
- java 使用http2.0_【Java】okhttp3如何发送http2请求?
- ai怎么画循环曲线_AI插画设计,用AI制作一个只可爱的短腿柯基插画
- ip addr 命令:LOWER_UP字段意义
- 关于c语言程序开发过程 下面说法错误的是,c语言笔试真题
- php静态页面缓存,php处理静态页面:页面设置缓存时间实例