Linux正则表达式grep
正则表达式是一种符号表示法,用于识别文本模式。Linux处理正则表达式的主要程序是grep。grep搜索与正则表达式匹配的行,并将结果输送至标准输出。
1. grep匹配模式
grep按下述方式接受选项和参数(其中,regex表示正则表达式)
|
1
|
grep [options] regex [files] |
其中options主要为下表:
| 选项 | 含义 | 功能描述 |
| -i | ignore case | 忽略大小写 |
| -v | invert match | 不匹配匹配的 |
| -l | file-with-match | 输出匹配的文件名 |
| -L | file-without-match | 输出不匹配的文件名 |
| -c | count | 输出匹配的数目(行数) |
| -n | number | 输出匹配行的同时在前面加上文件名及在文件名中的行数 |
| -h | no-filename | 抑制文件名的输出 |
举例说明
假设有三个文件del1、del2、del3三个文件的内容如下

例子

2. 特殊字符
| 符号 | 含义 | 举例 |
| ^ | 开始标记 | "^abc"满足的例子abc、abcd |
| ^ | 非(在[]内) | "[^abc]"满足的例子:ddd、mpd |
| $ | 结束标记 | ”abc$”满足的例子abc、mmabc |
| . | 任意字符 | "a.c"满足的例子abc、fapcc |
| \< | 匹配单词开始 | "\<abc"满足的例子abc、abcd |
| \> | 匹配单词结束 | "abc\>"满足的例子abc、pmrabc |
| | | 或 | "AAA|BBB"满足的例子AAA、BBBpp |
3. 范围
| 符号 | 含义 | 举例 |
| ? | 匹配前一个字符0或1次 | "abc?"满足的例子ab、mabcd |
| * | 匹配前一个字符≥0次 | "abc*"满足的例子abbb、abcdk |
| + | 匹配前一个字符≥1次 | "abc+"满足的例子abcd、abcccdd |
| {} | {m}、{m,n}、{m,}、{,n}分别为匹配前一个字符m次、m到n次、≥m次、≤n次 | "abc\{3,5\}"满足的例子abcccc、abcccccc |
| [] | []内如果不是范围,选其一;是范围的话,范围内选其一 | "m[abc]p"满足的例子acpd;m[1-9]p满足的例子m8pp |
| () | 将候选的所有元素放在()内,用|隔开 | "a(1|2|3)bc"满足的例子a1bc、mba3bcd |
注意:{}在郑则表达式中需要转移,而{}()不需要。
注意理解{}范围的例子:

4. 标准字符类
| 字符类 | 释义 |
| [:alnum:] | 字母和数字,与[A-Za-z0-9]等价 |
| [:word:] | [:alnum:]加上下划线_ |
| [:alpa:] | 字母,与[A-Za-z]等价 |
| [:digit:] | 数字,与[0-9]等价 |
| [:xdigit:] | 十六进制字符,与[0-9A-Fa-f等价] |
| [:blank:] | 空格和制表符 |
| [:graph:] | 可见字符,靠扩33~126 |
| [:lower:] | 小写字母 |
| [:upper:] | 大写字母 |
| [:print:] | 可打印字符 |
| [:space:] | 空白字符,等价于[\t\r\n\v\f] |
| [:punct:] | 标点符号 |
| [:cntrl:] | ASCII控制码,包括字符0~31以及127 |
例子

可视化正则表达式
工具:Regexper

Linux正则表达式grep的更多相关文章
- Linux正则表达式grep与egrep
grep -io "http:/=[A-Z0-9]\{16\}" ./wsxf.txt >wsxf_urls.txt Linux正则表达式grep与egrep 正则表达式:它 ...
- NO22 Linux正则表达式--grep命令常用参数
Linux正则表达式: 一.基础正则第一波字符说明: 示例: 二.基础正则第二波字符说明: 三.基础正则第二波字符说明: 示例: grep:一般常用参数 示例:+和* ?和.: |: () ...
- Linux正则表达式,grep总结,sed用法
原文: 1.sed 流编辑器,实现对文字的增删改替换查(过滤.取行),能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件 输入到屏幕,可以把只匹配到模式的内容输入到屏幕上.还可以对原文件 ...
- linux正则表达式之-基础正则表达式(基于grep)
linux正则表达式: 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法,如:假设@代表123456,!代表abcde.通过定义的这些特殊符号的铺助,系统管理员就可以快速的过滤,替换或 ...
- Linux之grep及正则表达式
grep简介 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.通常grep有三种版本grep.egrep(等同于grep -E)和fgrep.egrep为扩展的g ...
- [Linux]正则表达式和grep使用【转载】
[Linux]正则表达式和grep使用 2018年12月05日 23:45:54 祥知道 阅读数 78 标签: 正则表达式grepLinuxegrep 更多 个人分类: Linux 所属专栏: Li ...
- Linux正则表达式与grep
bash是什么 bash是一个命令处理器,运行在文本窗口中,并能执行用户直接输入的命令 bash还能从文件中读取linxu命令,称之为脚本 bash支持通配符.管道.命令替换.条件判断等逻辑控制语句 ...
- Linux的正则表达式grep,egrep
一.概念 正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一组特殊字符,组成一个"规则字符集合",根据用户指定的文本模式对目标文件进行逐行搜索匹配,显示能被模式匹配到的结果. ...
- Linux中grep命令,用或的关系查询多个字符串,正则表达式基础说明
请尊重版权:原文:https://blog.csdn.net/lkforce/article/details/52862193 使用 grep 'word1|word2' 文件名 这样的命令是不对的 ...
随机推荐
- javascript--Function
概述 函数的声明 (1)function命令 函数就是使用function命令命名的代码区块,便于反复调用. function print(){ // ... } 上面的代码命名了一个print函数, ...
- js中对象使用
简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一个含有两个属性的对象,x.y var o2={x:12,y:'12',name:'JS'}; ...
- socket.io,系统api,
原文:http://www.cnblogs.com/xiezhengcai/p/3956401.html 1. 服务端 io.on('connection',function(socket)); 监听 ...
- Linux学习笔记14-权限基础
权限基础 权限:操作系统限制对资源访问的机制,一般分为读.写.执行.每个文件都拥有特定权限,通过所属用户及所属组来限制哪些用户.组可以对特定文件进行什么样的操作. 每个进程都是以某个用户的身份运行,进 ...
- jQuery10种不同动画效果的响应式全屏遮罩层
遮罩层有很多今天介绍这个jQuery10种不同动画效果的响应式全屏遮罩层 效果预览 下载地址 实例代码 <div class="container"> <head ...
- Twproject Gantt – 开源的 JavaScript 甘特图组件
Twproject Gantt 是一款基于 jQuery 开发的甘特图组件,也可以创建其它图表,例如任务树(Task Trees).内置编辑.缩放和 CSS 皮肤等功能.更重要的是,它是免费开源的. ...
- SharePoint文档库,如何在新窗口打开中的文件
默认情况下,点击文档库中的文件是在当前浏览器中打开的(如果你设置的是在客户端软件打开,则不符合本文情况).那么如果让他在新窗口中打开呢? 这里需要借助jQuery,关于如何将jQuery集成到Shar ...
- 出现( linker command failed with exit code 1)错误总结
这种问题,通常出现在添加第三方库文件或者多人开发时. 这种问题一般是找不到文件而导致的链接错误. 我们可以从如下几个方面着手排查. 1.以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误. ...
- iOS小型计算器
// // ViewController.m // 计算器 //屏幕的宽和高 #define SCREEN_W self.view.frame.size.width #define SCREEN_ ...
- iOS9 HTTP 通信报错解决方案
UIWebView *myview = [[UIWebView alloc] initWithFrame:CGRectMake(, , [UIScreen mainScreen].bounds.siz ...