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,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能 ...
随机推荐
- solidity 错误
solidity版本 0.7.5 Member "transfer" not found or not visible after argument-dependent looku ...
- Java-基础-JDK动态代理
1. 简介 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问.在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 比如:我们在调用 ...
- Java-对象克隆
1. 为什么要克隆 在java中,我们通过直接=等号赋值的方法来拷贝,如果是基本数据类型是没有问题的,例如 int i = 1; int j = 0; j = i; // 直接=等号赋值,这样是没有问 ...
- Zookeeper的选举机制和同步机制超详细讲解,面试经常问到!
前言 zookeeper相信大家都不陌生,很多分布式中间件都利用zk来提供分布式一致性协调的特性.dubbo官方推荐使用zk作为注册中心,zk也是hadoop和Hbase的重要组件.其他知名的开源中间 ...
- 透过 Chrome 深入理解浏览器导航过程
网络的导航,是从输入 url 到最终获取到文件的过程.其中牵扯到浏览器架构.操作系统.网络等一系列知识.本文将从各个角度详细论述这一过程,涉及广度与深度.如果您是已经有一定基础的同学,那么本文可以快速 ...
- The type name or alias SqlServer could not be resolved.Please check your configuration
The type name or alias SqlServer could not be resolved.Please check your configuration file.... 检查一下 ...
- Arcscene教程
筛选 看不清的话可以进行如下操作:右键-->属性-->符号系统-->把高程前面的对号取消-->添加- ...
- bzoj4821 && luogu3707 SDOI2017相关分析(线段树,数学)
题目大意 给定n个元素的数列,每一个元素有x和y两种元素,现在有三种操作: \(1\ L\ R\) 设\(xx\)为\([l,r]\)的元素的\(x_i\)的平均值,\(yy\)同理 求 \(\fra ...
- 利用 CSS Overview 面板重构优化你的网站
本文将向大家介绍 Chrome 87 开始支持的 CSS Overview Panel,并且介绍如何更好地利用这个面板.通过 CSS Overview Panel,可能可以帮助我们: 更准确(高保真) ...
- 编程题:X星人的金币
X星人的金币 时问限制:3000MS 内存限制:589824KB 题目描述: X是人在一艘海底沉船上发现了很多很多很多金币.可爱的X星人决定用这些金币来玩一个填格子的游戏.其规则如下:第1个格子放2枚 ...