文本查找

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. 2019.1.9 Mac安装Iterm2 终端(oh my zsh的安装与配置)

    Mac安装Iterm2 终端(oh my zsh的安装与配置) 安装 curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tool ...

  2. 为什么 window.location.search 为空?

    1,什么是window.location?示例 URL:http://b.a.com:88/index.php?name=kang&when=2011#first 属性 含义 值 protoc ...

  3. 【题解】洛谷P1941 [NOIP2014TG] 飞扬的小鸟(背包DP)

    次元传送门:洛谷P1941 思路 从题意可知 在每个单位时间内 可以无限地向上飞 但是只能向下掉一次 所以我们可以考虑运用背包解决这道题 上升时 用完全背包 下降时 用01背包 设f[x][y]为在坐 ...

  4. android 下使用Direct Texture

    要使用Direct Texture,需要有一份android系统的源码 部分C++代码如下: #include <stdio.h> #include <stdlib.h> #i ...

  5. 在jsp页面动态添加数据库中的内容

    工具:myeclipse+oracle11g 1.首先新建一个jsp页面. 2.在src目录下新建实体类User.java 3.创建BaseDao用来链接数据库 4.在pl/sql中创建存储过程 5. ...

  6. LeetCode18.四数之和 JavaScript

    给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满 ...

  7. 四、MapReduce 基础

    是一个并行计算框架(计算的数据源比较广泛-HDFS.RDBMS.NoSQL),Hadoop的 MR模块充分利用了HDFS中所有数据节点(datanode)所在机器的内存.CUP以及少量磁盘完成对大数据 ...

  8. Sftp搭建与配置参考

    Sftp搭建与配置参考 1. 介绍 sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.sftp 与 ftp 有着几乎一 ...

  9. 基于jQuery+JSON的省市县 二级 三级 联动效果

    省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统.电商网站最为常见.开发者一般使用Ajax实现无刷新下拉联动.本文将讲述,利用jQuery插件,通过读取JSON数据,实现无刷新动态下拉 ...

  10. WSO2 API Manager中host Ip 不正确的问题解决方法

    问题: 根据官方的Quick start的教程,部署完AM后,添加的API的host Ip不正确,为localhost或者服务器上的其他虚拟ip. 安装版本:       WSO2AM 2.6.0 环 ...