文本查找

grep,egrep,fgrep

grep :Global Research

  根据模式搜索文本,并将符合模式的文本行显示出来

模式:Pattern,文本字符和正则的元字符组合而成匹配条件

grep  'root'  /etc/passwd

  -i :ignore case,忽略大小写

  --color,高亮输出

  -v:反向匹配,显示没有被模式匹配到的行

  -o:只显示被模式匹配到的字符串

*:任意长度的任意字符

?:任意单个字符

[]:

[^]:指定范围外的

正则:Regular Expression,RegExp

元字符:

. :匹配任意单个字符

grep 'r..t' /etc/passwd

[] :匹配指定范围内的任意单个字符

[^] :匹配指定范围外的任意单个字符

  字符集:[:digit:],[:lower:],[:upper:],[:punct:],[:space:],[:alpha:],[:alnum:]

匹配次数(贪婪模式):

* :匹配其前面的字符任意次

  a*b

  a.*b

  a?b

.* :任意长度的任意字符

\? : 匹配其前面的字符1次或0次

\{m,n\} :匹配其前面的字符至少m次,至多n次

  \{1,\} :至少1次

  \{0,3\}:0~3次

grep  'a\{1,\}b'  test.txt  :a至少1次,接b

位置锚定:

^:锚定行首,此字符后面的任意内容必须出现在行首

grep '^r..t' /etc/passwd

$:锚定行尾,此字符前面的任意内容必须出现在行尾

grep 'w$' /etc/inittab :以w结束的行

grep 'b..h$' /etc/inittab :以 b..h结尾的行

^$:空白行

grep '^$' /etc/inittab :匹配空白行

grep '[[:digit:]]$' /etc/inittab :以数字结尾的行

grep '[[:space:]]$' /etc/inittab :以空白字符结尾的行

\<或\b :其后面的任意字符必须作为单词的首部出现

\>或\b :其前面的任意字符必须作为单词的尾部出现

\<root\>

grep 'root\>' test2.txt :root出现在词尾

grep '\<root' test2.txt :root出现在词首

分组:

\(\)

\(ab\)*

grep '\(ab\)*'  test.txt  :ab出现任意次

后向引用

  \1:引用第1个左括号以及与之对应的右括号所包括的所有内容

  \2:

  \3:

grep '\(l..e\).*\1'  test.txt :前面匹配l..e ,后面引用l..e

行中出现任意一数字\([0-9]\),中间跟任意字符.*,行尾以相同数字结尾\1$

grep '\([0-9]\).*\1$' /etc/inittab :前面匹配[0-9] ,后面引用[0-9]

grep命令及正则的更多相关文章

  1. grep 命令操作

    linux grep命令 1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressi ...

  2. 由一条Linux的grep命令说起

    今天在开发的时候,看到同事使用了这样的一条linux命令 grep 'class YourClass' -rwi * |grep -v svn 想到了 grep命令的,几个参数. -r 明确要求搜索子 ...

  3. 强大的grep命令

    1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...

  4. linux grep命令总结

    风生水起善战者,求之于势,不责于人,故能择人而任势. 博客园    首页    新随笔    联系    订阅    管理 posts - 791,  comments - 394,  trackba ...

  5. Linux grep 命令中的正则表达式详解

    在 Linux .类 Unix 系统中我该如何使用 Grep 命令的正则表达式呢? Linux 附带有 GNU grep 命令工具,它支持扩展正则表达式(extended regular expres ...

  6. grep[行号&正则匹配字符有颜色]

    事情是这样的,昨天在深入学习grep命令时,看到别人博客用grep正则匹配,不仅行数有颜色,而且匹配到的字符也有颜色.我在CRT也试了下,毛颜色都没有.顿时感觉 so low. 解决 编辑vim~/. ...

  7. linux中grep命令的用法

    作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,掌握好其用法是很有必要的. 首先谈一下grep命令的常用格式为:[grep  [选项]  "模式"  [ ...

  8. grep命令中文手册(info grep翻译)

    body { font: 13.34px helvetica, arial, freesans, clean, sans-serif; color: black; line-height: 1.4em ...

  9. 【转】linux grep命令

    1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来 2.格式 grep [options] 3.主要参数 [options]主要参数: - ...

随机推荐

  1. Entity Framework——性能测试

    内容提要 一.对EF框架的性能测试 增.删.改,查测试及性能优化 二.使用sql执行 增.删.改,查测试 三.对以上两种方式对比分析 一 对EF框架的测试 1插入操作测试 测试代码(关键部分) Lis ...

  2. 【转】maven命令-P 参数引发的思考

    序言: maven 命令:clean package -Dmaven.test.skip=true -P product 1.命令很简单是:清class文件,打包构建,跳过测试,注意最后一个 -P p ...

  3. iOS之3DTouch的使用---很简单,看我就够啦~~

    3DTouch是苹果在iOS9之后新推出的功能,功能大致可以分成两种,一种是长按app的icon,会出现以下的界面,还有一种是在app内部的某个视图上使用,效果如下图. 详细的效果也可以参见微信.微信 ...

  4. HDU 1248 寒冰王座 (完全背包)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1248 寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    M ...

  5. Gradle Goodness: Working with Live Task Collection

    Gradle support the definition of so called live collections. These collections are mostly created ba ...

  6. Oracle中插入千万条测试数据

    测试需求,id.姓名.邮箱.手机号不可重复 1.创建序列 create sequence id_sequence; //创建序列id_sequence 2.创建表 create table USERI ...

  7. iOS11.2-11.3.1进行越狱及问题

    设备环境:Electra.iOS11.13.1 PS:Electra最新版本进行越狱只支持11.14以下的版本.同时这是不完美越狱,每次重启手机都需要重新越狱,最后,由于Electra版本推出仓促,一 ...

  8. Vue--- vue-cli 脚手架 安装 -reeber

    vue-cli 脚手架 安装   一. node安装 1)如果不确定自己是否安装了node,可以在命令行工具内执行: node -v  (检查一下 版本): 2)如果 执行结果显示: xx 不是内部命 ...

  9. [异常笔记] zookeeper集群启动异常: Cannot open channel to 2 at election address ……

    - ::, [myid:] - WARN [WorkerSender[myid=]:QuorumCnxManager@] - Cannot open channel to at election ad ...

  10. nginx的docker化部署

    nginx的docker化有一个隐藏的坑,就是其默认的配置目录(/etc/nginx)需要先从容器中拷贝出来. 拉取镜像 docker pull nginx 启动容器 docker run -d -- ...