文本查找

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. 记录 iOS 各种跳转到系统应用

    MARK ----拨打电话 NSString* phoneVersion = [[UIDevice currentDevice] systemVersion]; if (phoneVersion.fl ...

  2. ARP, Fragmentation and Reassembly

    Address Resolution Protocol IP addresses are said to be logical, because they are defined in terms o ...

  3. 【Node.Js】npm国内被墙的解决方法

    移动网就是坑,有VPN也上不去,真操蛋~先吐槽一下@中国移动 折腾了一晚上,总是报连接错误,导致我npm安装不上,查了半天资料,找到个靠谱的,粘贴过来备用. 原文地址:http://snoopyxdy ...

  4. mybatis异常:Invalid bound statement (not found): com.mybatis01.dao.UserDao.select_Map;Could not find result map com.mybatis01.dao.UserDao.User

    错误原因:查询结果类型错误 查询结果应该是User实体类 在光标指的地方应该为ResultType,而不是ResultMap.

  5. JQuery Ajax 使用FormData上传文件对象

    FormData部分: 先new FormData对象 :let somedata = new FormData(),然后将数据添加进去,这里我们使用append()进行添加. 这里举一个上传头像的例 ...

  6. 解决最新版 mac os sierra usb网卡不能使用的问题

    解决最新版 mac os sierra usb网卡不能使用的问题 解决最新版 mac os sierra usb网卡不能使用 无法使用未签名第三驱动的问题 我的情况是 mac os sierra 使用 ...

  7. ubuntu 18.04可以连接内网,无法连接外网

    手动增加网关后,又重新sudo apt-get upgrade,  提示/etc/resolvconf/resolv.conf.d更新时,选Y后,不用手动修改网关也可以连接外网了. 一切默认更新后,1 ...

  8. about route

    route add default dev  my_iface1 route del default route add default gw 192.168.120.1 route add -net ...

  9. 20181030NOIP模拟赛T2

    WYT的刷子 WYT有一把巨大的刷子,刷子的宽度为M米,现在WYT要使用这把大刷子去粉刷有N列的栅栏(每列宽度都为1米:每列的高度单位也为米,由输入数据给出). 使用刷子的规则是: 1.与地面垂直,从 ...

  10. ABAP术语-SAP GUI for HTML

    SAP GUI for HTML 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/14/1104996.html An ITS impleme ...