grep命令详解与正则表达式
grep命令主要是做什么的呢 ?下面我们就来研究下。
grep命令简单来说就是“过滤”。就是把想看的数据通过grep过滤出来,把不想看的通过grep过滤掉。
它是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来,Unix的grep家族包括(egrep,fgrep,grep)。egrep和fgrep的命令跟grep有所不同,egrep是grep的扩展,支持更多的re元字符,fgrep表示就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说正则表达式中的元字符表示自身的意思,不再特殊,linux使用的GNU版本的grep本身就强大,可以通过-G,-E,-F 命令行来选项egrep和fgrep的功能。
选项:
-A # --after 表示后#行
-B # --before 表示前#行
-C # --context 表示“前后”各#行
-D --devices 设置对设备,FIFO,管道的操作,读取,跳过
-E --extended-regexp 扩展正则表达式egrep
-F --fixed-strings 一个换行符分隔的字符串的集合fgrep
-G --basic-regexp 基本正则
-H --with-filename 当搜索多个文件,显示匹配的文件名前缀
-I 不匹配二进制的东西
-L --files-without--math 匹配多个文件时,显示不匹配的文件名
-P -----perl-regexp 调用的perl正则
-R/-r --recursive 递归调用
-V --version 显示版本信息
-U --binary 使用标志高亮匹配字符串
小写选项:
-a --text 不要忽略二进制数据
-b --byte-offset 打印匹配行前面答应该行所在的块行码
-c --count 显示匹配的行数
-d --directories 目录操作,读取,递归跳过
-e --regexp 指定字符串作为查找文件内容范本样式
-f ---file 从文件中获得匹配模式
-h --no--filename 当搜索多个文件,不显示文件名的前缀
-i --ignore-case 不区分大小写
-l --files-with-matches 匹配多个文件时,显示匹配的文件名
-n --line-number 显示的内容加上行号
-q --quiet,--silent 不显示任何东西
-s --no-messages 不显示错误信息
-v --invert-match 显示不匹配的行
-w --word-regexp 匹配整个单词
-x --line-regexp 匹配整行
-y 此选项跟-i选项相同
-o --only-matching 只显示一行中匹配PATTERN的数据
-m --max-count 匹配的最大数
*注:单词由字母,数字,下划线组成
正则表达式:^ 表示以^grep开头的行
$ 表示行尾锚定,用于模式的最右侧
. 表示任意单个字符
* 匹配前面的字符任意次
.* 任意长度字符
[] 匹配指定的范围内的内容
[^] 匹配不在范围的内容
\(..\) 标记匹配字符,如\(love\) ,love被标记为1
\< 锚定单词的开始,即词首锚定,用于单词模式的开始
\> 锚定单词的词尾,即词尾锚定,用于单词模式的结束,锁定单词的结束
\{n\} 匹配前面的字符n次
\{,n\} 匹配前面的字符至多n次, <=n
\{m,n\} 匹配前面的字符至少m次,最多n次
\{n,\} 匹配前面的字符至少n次, 最多无限次
\+ 匹配前面的字符出现最少1次, 即:肯定有且>=1次
\? 匹配前面的字符出现0次或1次,即:可有可无
^$ 空行
^[[:space:]]*$ 空白行
^PATTERN$ 用于模式匹配整行
\<PATTERN\> 匹配整个单词
\| 或者
() 将多个字符捆绑在一起,当作一个整体处理
后向引用:\(string\string2\)\)
1\:string\(string2\)
2\:string2
grep命令详解与正则表达式的更多相关文章
- linux grep命令详解
linux grep命令详解 简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 ...
- grep 命令详解
[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename 选项与参数: -a :将 binary 文件以 text 文件的方式搜寻数据 - ...
- Linux之grep命令详解
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- Ubuntu 14.10 下grep命令详解
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- Linux的grep命令详解
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- Linux Shell脚本入门--grep命令详解
grep简介<摘自鸟哥,并加以整理.> grep (global search regular expression(RE) and print out the line,全面搜索正则表达 ...
- linux grep命令详解(转)
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- 【转】linux grep命令详解
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- Linux grep 命令详解
简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能 ...
随机推荐
- python学习笔记(十二)-网络编程
本文结束使用 Requests 发送网络请求.requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到.可以说,Requests 完全满足如今网络的需求. ...
- P7115-[NOIP2020]移球游戏【构造】
正题 题目链接:https://www.luogu.com.cn/problem/P7115 题目大意 \(n+1\)个柱子,前面\(n\)个上面各有\(m\)个球,球有\(n\)种颜色,每种\(m\ ...
- P4590-[TJOI2018]游园会【dp套dp】
正题 题目链接:https://www.luogu.com.cn/problem/P4590 题目大意 给出一个长度为\(m\)的字符串\(s\). 对于每个\(k\in[0,m]\)求有多少个长度为 ...
- P6378-[PA2010]Riddle【2-SAT】
正题 题目链接:https://www.luogu.com.cn/problem/P6378 题目大意 给出\(n\)个点\(m\)条边的一张无向图,图中有\(k\)种颜色的点. 要求每种颜色选择一个 ...
- RabbitMQ 3.9.7 镜像模式集群与Springboot 2.5.5 整合
1. 概述 老话说的好:做人要懂得变通,善于思考,有时稍微转个弯,也许问题就解决了. 言归正传,之前我们聊了 RabbitMQ 3.9.7 镜像模式集群的搭建,今天我们来聊聊 RabbitMQ 3.9 ...
- 屏幕截图小工具的制作过程问题记录 python PIL pynput pyautogui pyscreeze
最近想做一个脚本小工具,方便写一些操作说明文档,它的功能很简单,就是把脚本打开之后,鼠标进行操作点击时,会在点击后进行截图,并在图上标记出点击的位置,有点类似于录屏软件的图片版,这样的话,如果要想用文 ...
- Python爬取 | 唯美女生图片
这里只是代码展示,且复制后不能直接运行,需要配置一些设置才行,具体请查看下方链接介绍: Python爬取 | 唯美女生图片 from selenium import webdriver from fa ...
- 网络通信IO的演变过程(一)(一个门外汉的理解)
以前从来不懂IO的底层,只知道一个大概,就是输入输出的管道怼到一起,然后就可以传输数据了. 最近看了周志垒老师的公开课后,醍醐灌顶. 所以做一个简单的记录. 0 计算机组成原理相关 0.1. 计算机的 ...
- Mybatis 动态批量修改
封面:学校夜景 xdm,祝大家节日快乐!! 今天听<路过人间>演唱会Live限定版,爱上了一句歌词. 说来惭愧,人对爱只学会,视死如归. 1.业务需求 如下: 前台传给我一个 docume ...
- [软工顶级理解组] 团队任务拆解(Alpha)
一.任务概述 在alpha阶段,我们需要完成功能规格说明书中所提到的所有功能,在一个阶段的开发周期内,交付最小可行的可用版本. 二.任务分配及时长 分组&成员 具体任务 预计时长(小时) 前端 ...