grep命令

        格式:grep [-acinv] [--color=auto] '查找字符串' filename

-a 将binary文件以text文件的

-c 计算找到 ‘查找字符串’ 的次数

-i 忽略大小写的不同,所以大小写视为相同

-n 顺便输出行号

-v 反向选择,即显示出没有 ‘查找字符串’ 内容的那一行

--color=auto 关键部分加上颜色显示

基础正则

^:行首

$:行尾

查找以0为行首:

查找以3为行尾:

. 代表一定有一个任意字符的字符

\转义字符,将特殊字符的特殊含义去掉

*重复0个到无穷多个的前一个字符(一定要切记是0到无穷多个,如果你想grep带有‘3’的行,用‘3*’是无效的,应该为‘33*’,其实grep ‘3’ = grep ‘33*’)

[list],  [abc]则或a或b或c,[0-9]则0-9范围中任意一个,同理[a-z]或[A-Z]

[^list]  取不在该范围内的字符,下面例子,grep一整行皆为非小写字母字符的行。*为0到无限多个的意思,如果有了扩展正则表达式,用+可以表达1到1个以上。

\{n,m\}  \{n,\}  \{\,m}

扩展正则表达式

一定要注意:扩展正则表达式要写为egrep

+ 与之前*相对应是一个或以上前一个字符

egrep '^[^a-z]+$' = grep '^[^a-z][^a-z]*$'

? 0个或一个前一个字符

| 或

()一组字符

()+ 多个重复组

标识字符集,例如可以用[:digit:]代替[0-9] 实例:egrep -n '^(12|2[[:digit:]][[:digit:]]|(29|30|31|32)[[:digit:]][[:digit:]])$' file*

(查找n,n=12或200<=n<=299或2900<=n<=3299)

[:alnum:] 字母和数字
[:alpha:] \a 字母
[:lower:] \l 小写字母
[:upper:] \u 大写字母
[:blank:] 空白字符(空格和制表符)
[:space:] \s 所有空格符(比[:blank:]包含的范围广)
[:cntrl:] 不可打印的控制字符(退格、删除、警铃...)
[:digit:] \d 十进制数字
[:xdigit:] \x 十六进制数字
[:graph:] 可打印的非空白字符
[:print:] \p 可打印字符
[:punct:] 标点符号

最后,grep可以抓取多个文件中的字符,grep -n ‘正则表达式’ file1 file2

Linux grep与正则表达式的更多相关文章

  1. linux初级学习笔记十:linux grep及正则表达式!(视频序号:04_4)

    本节学习的命令:grep 本节学习的技能: grep对文本的匹配 正则表达式的使用 知识点十:grep及正则表达式(4_4) grep,egrep,fgrep: grep: 根据模式搜索文本,并将符合 ...

  2. linux grep和正则表达式

    虽然正则表达式经常都在用,但是很少能够静下心来仔细的总结一下.最近看了一个台湾人的网站叫做鸟哥Linux私房菜,关于正则表达式的描述挺详细的.在此,我进行一下总结,如果想仔细的学习正则表达式,请访问鸟 ...

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

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

  4. [Linux 006]——grep和正则表达式

    在使用系统时,我们或多或少的有一些搜索.查找的需求,必须要在文本中搜索某个关键字,或者过滤出文本中某些特定的行.grep 命令就为我们提供了这样一个功能,同时,grep 还可以使用正则表达式进行匹配, ...

  5. Linux文本处理三剑客之grep及正则表达式详解

    Linux文本处理三剑客之grep及正则表达式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux文本处理三剑客概述 grep: 全称:"Global se ...

  6. linux grep命令

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

  7. linux grep命令详解

    linux grep命令详解 简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 ...

  8. 如何使用Unix/Linux grep命令——磨刀不误砍柴工系列

     http://man.linuxde.net/grep ---------------------------------------------------- 如何使用Unix/Linux gre ...

  9. linux grep命令总结

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

随机推荐

  1. wifi,网关相关标识的获取

    获取WIFI的相关信息 - (void)getWifiInfo { NSArray *ifs = (__bridge_transfer NSArray *)CNCopySupportedInterfa ...

  2. 00024500-0000-0000-C000-000000000046错误,在sys.web配置节添加一个用户给web站点。

    <identity impersonate ="true" userName="administrator" password="123456& ...

  3. Android中的桌面快捷方式

    一.判断是否已有快捷方式 private String getAuthorityFromPermission(Context context, String permission){ if (perm ...

  4. Web前端学习路线

    第一阶段: HTML+CSS:HTML进阶.CSS进阶.div+css布局.HTML+css整站开发. JavaScript基础:Js基础教程.js内置对象常用方法.常见DOM树操作大全.ECMAsc ...

  5. css3 2D动画的基本用法和介绍

    <style> body{height:400px;border:1px solid #000;} .box{width:90px;height:30px;border:1px solid ...

  6. mac OS X 配置Python+Web.py+MySQLdb环境

    MAC默认支持Python 2.7所以不用安装. 1.安装pip sudo easy_install pip 2.安装Web.py sudo pip install Web.py 3.安装MySQLd ...

  7. RabbitMQ 问题记录

    1. rabbitmq安装后无法运行,报错“unable to connect to node rabbit@XXXX: nodedown”. 怀疑局域网内有相同名称的计算机安装了rabbitmq,造 ...

  8. 【Android UI】Android ListView详解

    在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示.抽空把对ListView的使用做了整理,并写了个小例子,如下图. 列表的显示需要三 ...

  9. 声笔码7.00版现已进入Beta测试阶段

    声笔码7.00版现已进入Beta测试阶段,有兴趣的朋友可以试试,欢迎多提宝贵意见. 由于论坛附件限制了1M的大小所以无法上传,需要的朋友可加入声笔系列码群(QQ群号:445906697),到共享文件夹 ...

  10. MVVM框架中的一个非常重要的内容:数据双向绑定

    双向绑定的意思就是,如下图中,当在input框中输入字符时,红色框框中的字也会随之改变. input框中需要一个绑定:ms-duplex(即“双工绑定”),http://avalonjs.github ...