grep命令经常使用參数及使用方法
1、grep介绍
配的行打印出来。grep全称Global Regular Expression Print,表示全局正則表達式版本号,它的使用权限是全部用户。
grep可用于shell脚本,由于grep通过返回一个状态值来说明搜索的状态,假设模板搜索成功,则返回0,假设搜索不成功,则返回1,假设搜索的文件不存在,则返回2。
2、grep经常使用參数
-c :计算找到 '匹配字符串' 的次数
-i :忽略大写和小写的不同。所以大写和小写视为同样
-n :顺便输出行号
1000 20 nan
1001 21 nv
1002 23 Nan
//忽略大写和小写进行匹配并显示行号
grep -ni 'nan' test.txt 1:1000 20 nan
3:1002 23 Nan
grep -ni 'nan' test.txt 2:1001 21 nv
3、grep正則表達式
Re | 含义 |
^word | 待匹配的字符串(word)在行首!
如:grep '^1000' test.txt |
word$ | 待匹配的字符串(word)在行末! 如:grep 'nv$' test.txt 返回:1001 21 nv |
. | 代表随意一个字符,一定是一个随意字符! 搜寻的字符串能够是 (eve) (eae) (eee) (e e), 但不能仅有(ee) 。亦 即e 与e 中间一定仅有一个字符,而空格符也是字符! 如:grep 'n.n' test.txt 返回:1000 20 nan |
\ | 转义字符,特殊字符如 ' { } 如:grep -n \' test.txt 匹配含有单引號' 的那一行! |
* | 反复零个或多个的前一个RE 字符,注意*号前面一定要有字符 如:grep 'n*' test.txt 返回:1000 20 nan 1001 21 nv 1002 23 Nan |
\{n,m\} | 连续n 到m 个的前一个RE 字符 若为\{n\} 则是连续n 个的前一个RE 字符, 若是\{n,\} 则是连续n 个以上的前一个RE 字符! |
[ ] | 字符集合的RE 特殊字符的符号 [abc]:表示匹配a或者b或者c [a-z]:表示匹配a,b,c,...z这26个字母中不论什么一个 [^a-z]:表示字符串的开头仅仅要不是小写字母a-z。则都能匹配成功 [a-z$]:表示字符串的结尾仅仅要是小写字母a-z。则都能匹配成功 |
Re | 含义 |
+ | 反复『一个或一个以上』的前一个RE 字符 如:egrep -n 'go+d' regular_express.txt 则:(god) (good) (goood)等会匹配成功 |
? | 『零个或一个』的前一个RE 字符 如:egrep -n 'go?d' regular_express.txt 则:(gd) (god)等会匹配成功 |
| | 用或( or )的方式找出数个字符串 如:egrep -n 'gd|good' regular_express.txt 则:匹配gd 或good 这两个字符串 |
() | 找出『群组』字符串 如:egrep -n 'g(la|oo)d' regular_express.txt 则:匹配(glad) 或(good) 这两个字符串 |
grep命令经常使用參数及使用方法的更多相关文章
- grep命令參数及使用方法
功能说明:查找文件中符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...
- Python命令行选项參数解析策略
概述 在Python的项目开发过程中,我们有时须要为程序提供一些能够通过命令行进行调用的接口.只是,并非直接使用 command + 当前文件 就ok的,我们须要对其设置可选的各种各样的操作类型.所以 ...
- Docker 命令行和后台參数
Docker官方为了让用户高速了解Docker,提供了一个交互式教程,旨在帮助用户掌握Docker命令行的用法. Docker 命令行 以下对Docker的命令清单进行简单的介绍,具体内容在兴许章节具 ...
- Hadoop作业性能指标及參数调优实例 (三)Hadoop作业性能參数调优方法
作者: Shu, Alison Hadoop作业性能调优的两种场景: 一.用户观察到作业性能差,主动寻求帮助. (一)eBayEagle作业性能分析器 1. Hadoop作业性能异常指标 2. Had ...
- grep命令提示"binary file matches **.log"解决方法
仔细想想,这个问题遇到很多次了,之前一直以为很复杂,一搜索发现解决这么简单,记录一下做备忘. grep test XXX.log Binary file app.log matches 此时使用-a参 ...
- Hadoop Ls命令添加显示条数限制參数
前言 在hadoop的FsShell命令中,预计非常多人比較经常使用的就是hadoop fs -ls,-lsr,-cat等等这种与Linux系统中差点儿一致的文件系统相关的命令.可是细致想想,这里还是 ...
- kettle參数、变量具体解说
kettle參数.变量具体解说 kettle 3.2 曾经的版本号里仅仅有 variable 和 argument,kettle 3.2 中.又引入了 parameter 概念.variable 即e ...
- ORACLE 參数文件介绍
ORACLE数据库启动以后.通过select * from v$parameter这个语句能够查看到oracle数据库使用的全部參数. 对于oracle的參数文件,分为spfile 二进制文件和pfi ...
- Effective JavaScript Item 21 使用apply方法调用函数以传入可变參数列表
本系列作为Effective JavaScript的读书笔记. 以下是一个拥有可变參数列表的方法的典型样例: average(1, 2, 3); // 2 average(1); // 1 avera ...
随机推荐
- zoj 3157 Weapon 逆序数/树状数组
B - Weapon Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Submit Sta ...
- 读书笔记_Effective_C++_条款三十八:通过复合塑模出has-a或者is-implemented-in-terms-of
如果说public是一种is-a的关系的话,那么复合就是has-a的关系.直观来说,复合就是在一个类中采用其他类的对象作为自身的成员变量,可以举个例子,像下面这样: class Person { pr ...
- 读书笔记_Effective_C++_条款三十七:绝不重新定义继承而来的缺省参数值
先看下面的例子: enum MyColor { RED, GREEN, BLUE, }; class Shape { public: ; }; class Rectangle: public Shap ...
- 数据表-java类的映射
1.一个数据表对应一个java类 2.数据表的字段对应java类的属性 3.一对多的数据表关系 一方用一个java对象表示 多方用一个java对象数组表示 4.多对多的数据表关系:采用中间表,将多对多 ...
- Spring @Transaction配置演示样例及发生不回滚原因深度剖析
背景 近期在公司做的一个项目,用的是SpringMVC框架,数据库用的是MySql,刚開始并没有增加事务,后因业务须要必须事务处理. 问题的产生和解决 使用事务,直接问百度,我选择的是注解的方式. 在 ...
- Starting nginx: nginx: [emerg] bind() to 0.0.0.0:8088 failed (13: Permission denied) nginx 启动失败
Starting nginx: nginx: [emerg] bind() to 0.0.0.0:8088 failed (13: Permission denied) nginx 启动失败 ...
- Li的前期工作Level_Set_Evolution_Without_Re-initialization_A_New_Variational_Formulation
注意:因为页面显示原因.里头的公式没能做到完美显示,有须要的朋友请到我的资源中下载 无需进行又一次初始化的水平集演化:一个新的变分公式 Chunming Li , Chenyang Xu , Chan ...
- 使用开源库 EasyTimeline 操作定时器 NSTimer
EasyTimeline https://github.com/mmislam101/EasyTimeline Sometimes you need things to happen at speci ...
- struts2 iterator 迭代标签只显示前五条记录
<s:iterator value="#session.produceLists" var="produce" begin="0" e ...
- mysql的TABLE_SCHEMA的sql和information_schema表, MySQL管理一些基础SQL语句, Changes in MySQL 5.7.2
3.查看库表的最后mysql修改时间, 如果第一次新建的表可能还没有update_time,所以这里用了ifnull,当update_time为null时用create_time替代 select T ...