关闭

Linux 编辑器(三)--grep-Global search Regular Expression and Print out

244人阅读 评论(0) 收藏 举报

grep是一个最初用于UNIX操作系统的命令行工具。在给出文件列表或标准输入后,grep会对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配的文本。语法为:grep [选项] 字符模式 [文件名1,文件名2]。不输入文件名则从标准输入读取内容。

grep使用正则表达式元字符基本集,包括:
^:匹配行首;
$:匹配行尾;
.:匹配任意字符;
*:匹配0个或多个任意字符;
[]:匹配指定范围内的其中一个字符;
[^]:匹配不在指定范围内的字符;
\<:匹配单词首。(在linux终端上敲命令时,需要多使用一个反斜杠,如:grep abcd\\< filename,因为第一个反斜杠用于转义一个shell的反斜杠。)
\>:匹配单词末。
\{m\}:匹配前一字符的m次出现。
\{m,\}:匹配前一字符的至少m次出现。
\{m,n\}:匹配前一字符至少m次,至多n次出现。

grep的选项包括:
-#:同时显示匹配行上下的#行,#表示数字;
-b:在每行前打印字符偏移量;
-c:只打印匹配的行数,不显示匹配的内容;
-f FILE:从FILE文件中提取模式;
-h:当搜索多个文件时,不显示匹配文件名前缀;
-i:忽略大小写;
-q:取消显示,只返回退出状态,0表示找到了匹配的行;
-l:打印匹配模式的文件清单;
-L:打印不匹配模式的文件清单;
-n:在匹配的行前面打印行号;
-s:不显示关于不存在或无法读取文件的错误信息;
-v:反检索,只显示不匹配的行;
-w:如果被\<和\>引用,就把表达式作为一个单词搜索;
-V:显示软件版本信息。

grep的退出状态存储在$?里,通过ehco $?可以查看,搜索成功值为0,搜索不成功值为1,文件不存在则返回2。

egrep(extend grep)命令与grep相似,执行效率比grep高,但需要占用较大内存空间。egrep使用正则表达式元字符的扩展集,包括:
+:匹配一个或多个前一字符;
?:匹配一个或0个前一字符;
a|b|c:匹配a或b或c。
():分组符号;
x{m}、x{m,}、x{m,n}:作用同x\{m\}、x\{m,\}、x\{m,n\}。

grep -E打开对元字符扩展集的支持,实现与egrep相同的功能。

fgrep:与grep相似,占用空间比egrep小,速度比grep快,但不识别正则表达式。

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:11021次
    • 积分:174
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:23篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论
  • myeclipse配置dwr

    syj_1993: 我按照你的做了前三步。结果运行第四步时 也就是访问页面是报错严重: StandardWrapper....