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

转载 2012年03月27日 21:49:53

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快,但不识别正则表达式。

Regular Expression与grep

關鍵是要能夠區分 shell command line 上的 meta 與 literal 這兩種不同的字符類別. 然後, 我這裡才跟你講: --- RE 表達式裡的字符也是分為 meta 與 l...

Search across multiple lines using regular expression in VIM

Search across multiple lines (come from http://vim.wikia.com/wiki/Search_across_multiple_lines) ...
  • oygy
  • oygy
  • 2012年09月20日 09:25
  • 790

正则表达式(Regular Expression)高级使用(文本编辑器,数据库,Java)

一、开发环境和文本编辑器中使用正则表达式 eclipse Notepad++ EditPlus UltraEdit 二、数据库中也可以使用正则表达式 Mysq15.5以上 Oracl...

linux常用命令-find和grep区别及使用方法

find和grep区别 find用法详解 grep用法详解

正则表达式笔记(Regular expression 1)

1- 纯文本可以匹配 2- . 可以匹配任意一个单个字符,如c.t,匹配cat,cot 3- \代表转义字符,若匹配.就需要\. 4- []元字符,匹配多个字符中的一个,如c[af]t,匹配ca...

Java正则表达式(Regular Expression) 邮箱验证

今天做题用到了正则表达式的内容,虽然很早就听过正则表达式,但是一直是只闻其声,不见其人,所以就着今天碰到,系统的整理一下正则表达式,加深一下自己对于正则的理解。...

【LeetCode010算法/编程练习C++】Regular Expression Matching//挺烦的一条……

10. Regular Expression Matching Total Accepted: 113015 Total Submissions: 481908 Difficulty: ...
  • zmdsjtu
  • zmdsjtu
  • 2016年12月27日 16:09
  • 469

leetcode 10.Regular Expression Matching(正则表达式匹配) 解题思路和方法

Regular Expression Matching Implement regular expression matching with support for '.' and '*'. ...

LeetCode之10 --- Regular Expression Matching

题目:   , Implement regular expression matching with support for '.' and '*'. '.' Matches any sin...

[LeetCode] Regular Expression Matching 解题报告

[题目] mplement regular expression matching with support for ‘.’ and ‘*’. ‘.’ Matches any single ch...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux 编辑器(三)--grep-Global search Regular Expression and Print out
举报原因:
原因补充:

(最多只允许输入30个字)