当前位置: 首页 > 编程日记 > 正文

文本处理工具之grep和egrep

文本处理工具之grep和egrep

  1. grep全称global search regular expression (RE) and print out the line
  2. 正则表达式(一类字符所书写的模式pattern)
    • 元字符:不表示字符本身的意义,用于额外功能性的描述
    • 基本正则表达式的元字符
      • 字符匹配:
        • .:任意单个字符
        • [ ]:制定范围内的任意单个字符
          • [0-9],  [[:digit:]]
          • [a-z],  [[:lower:]]
          • [A-Z],  [[:upper:]]
          • [[:alpha:]]
          • [[:alnum:]]
          • [[:space:]]
          • [["punct:]]
        • [^ ]:指定范围外的任意单个字符
      • 次数匹配
        • *:任意次
        • \?:0次或1次
        • \{m\}:匹配m次
        • \{m,n\}:m到n次
        • \{m,\}:至少m次
        • \{0,n\}:至多n次
      • 位置锚定(用于指定字符出现的位置)
        • ^:锚定行首
        • $:锚定行尾
        • ^$:空白行
        • \<char:锚定词首,\bchar
        • char\>:锚定词尾,char\b
      • 分组
        • \( \):     \(ab\)*xy
      • 引用:
        • \1:向后引用,引用前面的第一个左括号以及对应的右括号中的模式所匹配到的所有内容
        • \2
        • ........   \(a.b\)xy\1: a6bxya6b,
  3. grep常用选项:
    • -v:反向,显示不能被模式所匹配到的行
    • -o:仅显示被模式匹配到的字符串,而非整行
    • -i:不区分字符大小写,ignore-case
    • -E:支持扩展的正则表达式
    • -A:
    • -B
    • -C
  4. egrep元字符
    • 字符匹配:
      • .:任意单个字符
      • [ ]:指定范围内的任意单个字符
      • [^ ]:指定范围外的任意单个字符
    • 次数匹配
      • *:匹配其前面的字符任意次
      • ?:匹配其前面的字符0次或1次
      • +:匹配其前面的字符至少1次
      • {m}:匹配其前面的字符m次
      • {m,n}:m到n次
      • {m}:至少m次
      • {0,n}:至多n次
    • 锚定
      • ^:行首
      • $:行尾
      • \<,\b:词首
      • \>,\b:词尾
    • 分组
      • ():分组
      • |:或者,ac|bc

转载于:https://www.cnblogs.com/hequan/p/9187241.html

相关文章:

【转】堆栈和托管堆 c#

原文地址&#xff1a;http://blog.csdn.net/baoxuetianxia/archive/2008/11/04/3218913.aspx首先堆栈和堆&#xff08;托管堆&#xff09;都在进程的虚拟内存中。&#xff08;在32位处理器上每个进程的虚拟内存为4GB&#xff09; 堆栈stack 堆栈中存储值类型。 堆栈实际上是向…

python特性和属性_Python之属性、特性和修饰符

原博文 2018-03-17 11:08 − 作为面对对象的核心内容&#xff0c;将从以下一个方面进行总结&#xff1a; 1. property和property 2. __getattribute__()、__getattr__()、__setattr__()、__delattr__() 3. 描述符__get__()、__set__()、__delete__()... 相关推荐 2019-09-28 21…

pytest+allure环境别人电脑运行正常,自己运行不正常几种情况

1. AttributeError&#xff1a;module’ object has no attribute severity_level 之前运行都是正常的&#xff0c;想弄allure报告&#xff0c;就使用pip install allure-pytest 命令安装了&#xff0c;其实该命令的作用是会把你当前版本的pytest卸载掉&#xff0c;然后安装 al…

进驻宝岛 不闪式3D热潮来临?

本来说一直要换眼镜的&#xff0c;现在趁年底有空&#xff0c;专门去逛眼镜店。在逛宝岛的时候&#xff0c;发现了专门设立的不闪式3D体验区&#xff0c;供消费者体验。笔者在宝岛眼镜体验了下3D眼镜&#xff0c;觉得非常不错&#xff0c;特别分享下。自从LG Display开始全面进…

BZOJ3782 上学路线 【dp + Lucas + CRT】

题目链接 BZOJ3782 题解 我们把终点也加入障碍点中&#xff0c;将点排序&#xff0c;令\(f[i]\)表示从\((0,0)\)出发&#xff0c;不经过其它障碍&#xff0c;直接到达\((x_i,y_i)\)的方案数 首先我们有个大致的方案数\({x_i y_i \choose x_i}\) 但是中途可能会经过一些其它障碍…

007本周总结报告

这周感觉自己什么也没做&#xff0c;好没有成就感。这周大部分的时间都用来学车了&#xff0c;自己也是东跑西跑的&#xff0c;然而车也没有学好&#xff0c;java也学习的少的可伶。自己总是感觉自己学车都要忙死了。哪有什么时间学习java啊&#xff0c;能学好车就不错了。其实…

python max函数_Python3

max(x, y[, z...]):Number|Sequence 入参类型不能混入&#xff08;要么全Number(int|float|complex|bool&#xff09;&#xff0c;要么全序列&#xff09;。 入参是序列的话&#xff1a; 单序列入参&#xff0c;返回序列中最大的一个数值多序列入参, 按索引顺序&#xff0c;逐一…

Linux Mount Windows域用户限制的共享文件夹

sud现在一直使用linux作为主要的办公os&#xff0c;但是最近公司统一使用windows域服务器了&#xff0c;共享就出现比较打的问题了&#xff0c;原因如下&#xff1a;1、linux下通常mount windows共享文件夹Linux下使用smbfs形式访问windows共享文件夹是众所周知的事情&#xff…

B-tree索引与Bitmap索引的对比测试

昨天发现一条语句没有走索引&#xff0c;检查发现表没有建相应索引&#xff0c;先建立B-tree索引&#xff0c;测试发现是全表扫描&#xff0c;检查表数据发现此字段的值只有2个,删除原索引又建立bitmap索引&#xff0c;发现还是全表扫描&#xff0c;再次检查数据发现2个值基本各…

python 将字符串转换成字典dict

JSON到字典转化&#xff1a; 输出dict类型 dictinfo json.loads(json_str)字典到JSON转化&#xff1a; 输出str类型 # 比如&#xff1a; info {name : jay, sex : male, age: 22} jsoninfo simplejson.dumps(info) print jsoninfo Unicode到字典的转化&#xff1a; json.loa…

pidstat 命令详解(转载)

转自https://www.jianshu.com/p/3991c0dba094 pidstat 概述 pidstat是sysstat工具的一个命令&#xff0c;用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。pidstat首次运行时显示自系统启动开始的各项统计信息&#xff0c;之后运行pidstat将显示自上次运…

Oracle中table的大小计算方式

1. Check the size of each table on specific schema ; SQL> select segment_name,bytes/1024/1024 as mb from user_segments; SEGMENT_NAME MB -------------------- ---------- SALES 542. 转载于:https://www.cnblogs.com/jeff…

python编码问题无法复现_Python编码问题详解

1. 基本概念 字符集&#xff08;Character set&#xff09; 解释&#xff1a;文字和符合的总称 常见字符集&#xff1a; Unicode字符集 ASCII字符集&#xff08;Unicode子集&#xff09; GB2312字符集 编码方法&#xff08;Encoding&#xff09; 解释&#xff1a;将字符对应到字…

重新开始 2011/11/25

在csdn上写过几篇文章&#xff0c;始终没有坚持下来&#xff0c;也是由于自己没有一个明确的目标的缘故&#xff1b;当自己感觉乱的时候&#xff0c;总是想改变点东西&#xff0c;重新开始&#xff0c;改变了博客类的东西就真的能重新开始吗&#xff1f;现在我想换个博客就换个…

【转载】springboot:如何优雅的使用mybatis

这两天启动了一个新项目因为项目组成员一直都使用的是mybatis&#xff0c;虽然个人比较喜欢jpa这种极简的模式&#xff0c;但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料&#xff0c;各种各样的形式都有&#xff0c;…

c3p0连接池用法

使用连接池的时候并不是在代码中不用获取/释放数据库连接&#xff0c;而是在代码中向连接池申请/释放连接&#xff0c;对于代码而言&#xff0c;可以把连接池看成数据库。 换句话说&#xff0c;连接池就是数据库的代理&#xff0c;之所以要使用这个代理是因为直接向数据库申请/…

我所理解的字符编码

1&#xff0c;Ascii和ebcic. 为了方便交流&#xff0c;美国人发明了ASCII编码&#xff0c;后来被确认为国际标准。后来以发明了EBCDIC编码。 一般地说&#xff0c;开放的操作系统&#xff08;LINUX 、WINDOWS等&#xff09;采用ASCII 编码&#xff0c;而大型主机系统&#xff0…

void函数调用时显示不允许使用不完整的_C语言的角落——这些C语言不常用的特性你知道吗?...

变长参数列表头文件定义了一些宏&#xff0c;当函数参数未知时去获取函数的参数变量&#xff1a;typedef va_list宏&#xff1a;va_start()va_arg()va_end()va_list类型通过stdarg宏定义来访问一个函数的参数表&#xff0c;参数列表的末尾会用省略号省略 (va_list用来保存va_st…

centos下为firefox安装flash插件的几种方法

首先去官网去下载RPM格式的安装包&#xff0c;比如&#xff1a;flash-plugin-11.1.102.55-release.i386.rpm&#xff0c;默认下载位置是该用户的下载文件夹。 方法一&#xff1a;用gnome 双击该文件&#xff0c;按提示操作即可。 方法二&#xff1a;命令行&#xff0c;在该文件…

eoLinker AMS 专业版V3.3发布:分享项目可以测试并选择分享内容等

eoLinker AMS是集API文档管理、API自动化测试、开发协作三位一体的综合API开发管理平台&#xff0c;是中国最大的在线API管理平台。目前eoLinker AMS已经为来自全球的超过两万家企业托管超过一百万的API&#xff0c;我们感谢每个曾经以及正在支持我们的企业以及开发者朋友&…

MyBatis基础-CRUD

一、mybatis 环境搭建步骤 第一步&#xff1a;创建 maven 工程第二步&#xff1a;导入坐标第三步&#xff1a;编写必要代码&#xff08;实体类和持久层接口&#xff09;第四步&#xff1a;编写 SqlMapConfig.xml第五步&#xff1a;编写映射配置文件第六步&#xff1a;编写测…

python答题系统的代码_Python考试系统自动答题(教务处)

要求 某学校要求登录教务处网站 做一个测试题 30分钟300道题&#xff0c;240分几个&#xff0c;题量不少&#xff0c;题还不好做。 研究发现原来在网站上有题库 但是一道题只有6s 的时间作答 边查边做时间不够 人生苦短&#xff0c;何不Python当歌&#xff1f; 来个自动答题的智…

((ios开发学习笔记九)) Simple TableView 实现(附 实例源码)

实现效果&#xff1a; 实现过程&#xff1a; Step One 创建单个窗体项目 Step Two 创建control 接口 Step Three 创建窗体和关联关系 Step four 实现table view 的接口 control 初始化选择数据 实现Data Source 部分 实现TableView委托部分 源码下载 TestTableView.zip转载于:…

24个为Web开发人员准备的CSS3实用教程

本文搜集了一些关于CSS3的最新教程。你可以根据这些教程或技术来实现网页设计&#xff0c;包括&#xff1a;文字阴影、圆角框、盒模型尺寸计算&#xff08;box sizing&#xff09;、透明效果处理、多重背景、边框图像等。以下这些都是非常实用的CSS3教程&#xff0c;提供了许多…

前端基础之JQuery

一、什么是JQuery &#xff3b;1&#xff3d; jQuery由美国人John Resig创建&#xff0c;至今已吸引了来自世界各地的众多 javascript高手加入其team。 &#xff3b;2&#xff3d; jQuery是一种新型的JavaScript库。jq是用js写的&#xff0c;能用jq实现&#xff0c;用js都能…

测试linux下磁盘的读写速率

1&#xff09; 通过df -h命令查看磁盘情况Filesystem Size Used Avail Use% Mounted on/dev/sda4 289G 61G 214G 23% /tmpfs 7.8G 0 7.8G 0% /dev/shm/dev/sda2 969M 62M 857M 7% /boot/dev/sda1 …

multipart request_Request和Response

Response讲解7.1 Response简介定义辅助 servlet 将响应发送到客户端的对象。servlet 容器创建 ServletResponse 对象&#xff0c;并将它作为参数传递给 servlet 的 service 方法。 要发送 MIME 正文响应中的二进制数据&#xff0c;请使用 #getOutputStream 返回的 ServletOutpu…

SharePoint 客户端经常弹出Windows验证登录框问题

场景描述&#xff1a; Site工作人员UserA创建了一个Task&#xff0c;并且Assign给UserB。UserB接到来自Task List的邮件通知。这时UserA发现Assign的人错了&#xff0c;重新修改Task Item&#xff0c;将任务重新Assign给另外一个用户UserC&#xff0c;并且同时收回了UserB的访问…

SkFlattenable /Registrar/

/** \class SkFlattenableSkFlattenable is the base class for objects that need to be flattenedinto a data stream for either transport or as part of the key to thefont cache.*/ class SK_API SkFlattenable : public SkRefCnt {}以SkFlattenable为基类的对象是&…

启动 ServiceFabric Windows服务报1053

Remote Procedure Call (RPC) Locator和 Windows Firewall是否启动。 以管理员身份运行PowerShell&#xff0c;输入Unregister-ScheduledTask FabricCounters&#xff0c;然后输入Y。 到这一步基本OK了 右下角reset sf后查看是否存在 X:\SfDevCluster\Data\ImageStoreShare 文件…