grep命令及正则
文本查找
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命令及正则的更多相关文章
- grep 命令操作
linux grep命令 1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressi ...
- 由一条Linux的grep命令说起
今天在开发的时候,看到同事使用了这样的一条linux命令 grep 'class YourClass' -rwi * |grep -v svn 想到了 grep命令的,几个参数. -r 明确要求搜索子 ...
- 强大的grep命令
1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...
- linux grep命令总结
风生水起善战者,求之于势,不责于人,故能择人而任势. 博客园 首页 新随笔 联系 订阅 管理 posts - 791, comments - 394, trackba ...
- Linux grep 命令中的正则表达式详解
在 Linux .类 Unix 系统中我该如何使用 Grep 命令的正则表达式呢? Linux 附带有 GNU grep 命令工具,它支持扩展正则表达式(extended regular expres ...
- grep[行号&正则匹配字符有颜色]
事情是这样的,昨天在深入学习grep命令时,看到别人博客用grep正则匹配,不仅行数有颜色,而且匹配到的字符也有颜色.我在CRT也试了下,毛颜色都没有.顿时感觉 so low. 解决 编辑vim~/. ...
- linux中grep命令的用法
作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,掌握好其用法是很有必要的. 首先谈一下grep命令的常用格式为:[grep [选项] "模式" [ ...
- grep命令中文手册(info grep翻译)
body { font: 13.34px helvetica, arial, freesans, clean, sans-serif; color: black; line-height: 1.4em ...
- 【转】linux grep命令
1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来 2.格式 grep [options] 3.主要参数 [options]主要参数: - ...
随机推荐
- 记录 iOS 各种跳转到系统应用
MARK ----拨打电话 NSString* phoneVersion = [[UIDevice currentDevice] systemVersion]; if (phoneVersion.fl ...
- ARP, Fragmentation and Reassembly
Address Resolution Protocol IP addresses are said to be logical, because they are defined in terms o ...
- 【Node.Js】npm国内被墙的解决方法
移动网就是坑,有VPN也上不去,真操蛋~先吐槽一下@中国移动 折腾了一晚上,总是报连接错误,导致我npm安装不上,查了半天资料,找到个靠谱的,粘贴过来备用. 原文地址:http://snoopyxdy ...
- 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.
- JQuery Ajax 使用FormData上传文件对象
FormData部分: 先new FormData对象 :let somedata = new FormData(),然后将数据添加进去,这里我们使用append()进行添加. 这里举一个上传头像的例 ...
- 解决最新版 mac os sierra usb网卡不能使用的问题
解决最新版 mac os sierra usb网卡不能使用的问题 解决最新版 mac os sierra usb网卡不能使用 无法使用未签名第三驱动的问题 我的情况是 mac os sierra 使用 ...
- ubuntu 18.04可以连接内网,无法连接外网
手动增加网关后,又重新sudo apt-get upgrade, 提示/etc/resolvconf/resolv.conf.d更新时,选Y后,不用手动修改网关也可以连接外网了. 一切默认更新后,1 ...
- about route
route add default dev my_iface1 route del default route add default gw 192.168.120.1 route add -net ...
- 20181030NOIP模拟赛T2
WYT的刷子 WYT有一把巨大的刷子,刷子的宽度为M米,现在WYT要使用这把大刷子去粉刷有N列的栅栏(每列宽度都为1米:每列的高度单位也为米,由输入数据给出). 使用刷子的规则是: 1.与地面垂直,从 ...
- ABAP术语-SAP GUI for HTML
SAP GUI for HTML 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/14/1104996.html An ITS impleme ...