grep应用

一、基本用法

[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
-o :只显示匹配到的串
--color=auto :可以将找到的关键词部分加上颜色的显示
-E : 使用扩展正则表达式
-A number : 匹配到当前行并显示后number行
-B number :匹配到当前行并显示前number行
-C number : 匹配到当前行并显示前后number行

二、普通正则表达式之字符

1、元字符

. :匹配任意单个字符

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

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

2、字符集合

三、普通正则表达式之匹配次数(贪婪模式:能匹配多少就匹配多少)

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

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

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

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

\{1,\} :最少一次,多了不限

\{0,3\}

四、普通正则表达式之位置锚定:

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

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

^$:空白符

\<:锚定行首,其后面的任意字符必须作为单词首部出现

\>:锚定行尾,其后面的任意字符必须作为单词尾部出现

例子:\<root 在行首的单词 如果是aroot是不行的

\<root\> 只有完全匹配root行才会显示

五、普通正则表达式之分组 \(\)

\(ab\)* :

把ab当成一个组实现0次1次或多次。

\(\)的后项引用:

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

\2,\3分别表示引用第二个左括号

例子:grep '\(l..e\).*\1'

显示:He love his lover

六、扩展正则表达式(不需要写\)

注:可以用grep -E 也可用egrep

字符匹配:

  和普通相同:. 和[],[^]

次数匹配:

和普通相同:*,?,{m,n}(只是在扩展中不用\)

和普通不同:+:匹配其前面字符至少1次,相当于{1,}

位置锚定

  和普通相同:^,$,\<,\>

分组:

():真正的分组

引用:\1,\2,\3

特殊字符:

| :表示或者的意思

C | cat:表示cat和C.是整体进行或。

匹配ip地址:

IPV4:

5类: A B C D E

A: 1-127

B: 128-191

C: 192-223

简单版:

\<[1-9] | [1-9] [1-9] | 1[0-9] {2} | 2[01] [0-9] | 22[0-3]\>(\.\<[1-9] | [1-9] [1-9] | 1[0-9] {2} | 2[01] [0-9] | 25[0-4]\>){2}\.\<[1-9] | [1-9] [1-9] | 1[0-9] {2} | 2[01] [0-9] | 25[0-4]\>

可匹配到223.254.254.254

复杂版:

((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))

可匹配到255.255.255.254

注:正则表达式是贪婪模式,如果需要切换为非贪婪模式,可以使用?来切换。

linux中grep的应用的更多相关文章

  1. 12个 Linux 中 grep 命令的超级用法实例

    12个 Linux 中 grep 命令的超级用法实例 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一 ...

  2. Linux中Grep常用的15个例子【转】

    转自:https://www.aliyun.com/jiaocheng/1390860.html?spm=5176.100033.1.9.6a1e41e8Pdjynm 摘要:Grep命令主要用于从文件 ...

  3. linux中grep命令的使用

    转载:http://blog.csdn.net/universsky/article/details/8866402 linux中grep命令的使用 grep (global search regul ...

  4. Linux中grep和egrep命令详解

    rep / egrep 语法: grep  [-cinvABC]  'word'  filename -c :打印符合要求的行数-i :忽略大小写-n :在输出符合要求的行的同时连同行号一起输出-v ...

  5. linux中grep命令的用法

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

  6. linux中grep/egrep的使用

    grep也是linux中查找的一个利器,运维.程序员必掌握的 下面针对grep的参数进行说明: --color  重点标记匹配到项grep "a word" datafile -- ...

  7. linux中grep工具

    正则表达式 以前我们用grep在一个文件中找出包含某些字符串的行,比如在头文件中找出一个宏定义.其实grep还可以找出符合某个模式(Pattern)的一类字符串.例如找出所有符合xxxxx@xxxx. ...

  8. Linux中grep命令的12个实践例子

    grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具.无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过系统的包管理器来安装它(Debian/Ubuntu系中的apt-get和 ...

  9. linux中grep和egrep的用法

    1. grep简介 grep (global search regular expression_r(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大 ...

  10. linux中grep的用法

    http://www.9usb.net/200902/linux-grep.html http://blog.51yip.com/linux/1008.html http://blog.csdn.ne ...

随机推荐

  1. mysql百万级分页优化

    普通分页 数据分页在网页中十分多见,分页一般都是limit start,offset,然后根据页码page计算start , 这种分页在几十万的时候分页效率就会比较低了,MySQL需要从头开始一直往后 ...

  2. Android快乐贪吃蛇游戏实战项目开发教程-04虚拟方向键(三)三角形按钮效果

    该系列教程概述与目录:http://www.cnblogs.com/chengyujia/p/5787111.html 一.知识点讲解 当我们点击系统自带的按钮时,按钮的外观会发生变化.上篇博文中我们 ...

  3. 感悟 GNU C 以及将 Vim 打造成 C/C++ 的半自动化 IDE

    C 语言在 Linux 系统中的重要性自然是无与伦比.不可替代,所以我写 Linux 江湖系列不可能不提 C 语言.C 语言是我的启蒙语言,感谢 C 语言带领我进入了程序世界.虽然现在不靠它吃饭,但是 ...

  4. (转)linux下和云端通讯的例程, ubuntu和openwrt下实验成功(二)

    前言: 上节用纯linux的函数实现了和云端通讯, 本节开始利用传说中的神器libcurl 话说一个网络程序员对书法十分感兴趣,退休后决定在这方面有所建树. 于是花重金购买了上等的文房四宝.    一 ...

  5. Sublime Text 全程指引 by Lucida

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 博客园:@figure9 原文链接:http://zh.lucida.me/blog/sublime-text-complete ...

  6. xp搭建IIS出现HTTP 500错误-2147467259 (0x80004005)

    安装IIS后访问localhost页面, 提示The remote procedure call failed and did not execute,再刷新变为:-2147467259 (0x800 ...

  7. Qt5 开发 iOS 应用之访问 SQLite 数据库

    开发环境: macOS 10.12.1 Xcode 8.1 Qt 5.8 iPhone 6S+iOS 10.1.1   源代码: 我在 Qt 程序里指定了数据库的名称来创建数据库,在 Win10.An ...

  8. Enterprise Solution 开源项目资源汇总 Visual Studio Online 源代码托管 企业管理软件开发框架

    Enterprise Solution 是一套管理软件开发框架,在这个框架基础上开发出一套企业资源计划系统Enterprise Edition. 现将Enterprise Solution开发过程中遇 ...

  9. Enterprise Solution 进销存管理软件 C/S架构,支持64位系统 物流,资金流,信息流全面集成

          定位  Target Customers 中小型生产制造企业,批发零售类,贸易企业 主要模块 Modules 采购.销售.库存.财务账款四大模块,包含企业运作过程中销售.采购.库存各岗位需 ...

  10. springMVC+ajax 文件上传 带进度条

    前端代码: <form id= "uploadForm"> <p >指定文件名: <input type="text" name= ...