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,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能 ...
随机推荐
- django 安装redis及session使用redis存储
环境:centos 7.4 第一:安装redis 下载redis并安装: wget http://download.redis.io/releases/redis-5.0.5.tar.gz yum - ...
- nginx 利用return实现301跳转
第一种: server { location / { rewrite ^/(.*)$ http://www.baidu.com/$1 permanent; } } 第二种: server { loca ...
- 『GoLang』控制结构
条件语句 if 是用于测试某个条件(布尔型或逻辑型)的语句,如果该条件成立,则会执行if后由大括号括起来的代码块,否则就忽略该代码块继续执行后续的代码. if condition { // do so ...
- 将可执行程序设为linux服务启动
将可执行程序设为linux服务启动 如何将我们自己的程序设为linux的一个服务程序,并实现开机启动,需要经过如下三步: 1 把可执行程序放在一个linux系统可以找到的地方. ...
- P4240-毒瘤之神的考验【莫比乌斯反演,平衡规划】
正题 题目链接:https://www.luogu.com.cn/problem/P4240 题目大意 \(Q\)组数据给出\(n,m\)求 \[\sum_{i=1}^n\sum_{j=1}^m\va ...
- 数据库管理软件navicate12的激活和安装
前言 太多做测试或开发的小伙伴需要写sql语句,激活版navicat版本它来了 准备软件 navicat12安装包 navicat注册机 百度网盘下载链接(永久有效): 链接:https://pa ...
- SpringCloud升级之路2020.0.x版-25.OpenFeign简介与使用
本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent OpenFeign 的由来和实现思路 在微服务系统中,我们经常会进行 RPC 调用.在 S ...
- jQuery实现购物车功能
1.HTML代码(品优购模版) <!DOCTYPE html> <html lang="zh-CN"> <head> <meta char ...
- Ysoserial Commons Collections3分析
Ysoserial Commons Collections3分析 写在前面 CommonsCollections Gadget Chains CommonsCollection Version JDK ...
- .Net Core with 微服务 - 使用 AgileDT 快速实现基于可靠消息的分布式事务
前面对于分布式事务也讲了好几篇了(可靠消息最终一致性 分布式事务 - TCC 分布式事务 - 2PC.3PC),但是还没有实战过.那么本篇我们就来演示下如何在 .NET 环境下实现一个基于可靠消息的分 ...