linux-grep-egrep-正则表达式

简介:

grep 

-i 忽略大小写

--color 加颜色

-v 显示没有被匹配到的行

-o 只显示被匹配到的字符串

grep -o root /etc/passwd |  wc -l  查找有多少个root字符串

-E 使用扩展正则表达式 egrep=grep -E

-A #  grep -A 2 '^core id' /proc/cpuinfo

-B #  grep -B 2 '^core id' /proc/cpuinfo

-C #  grep -C 2 '^core id' /proc/cpuinfo


正则表达式:Basic REGEXTP 基本

Extended REGEXTP 扩展

正则表达式

. 表示任意单个字符

* 表示匹配其前面的字符任意次

(贪婪模式)

ab, aab ,acb, adb, amnb

a*b

a.*b

.* 任意长度的任意字符


\? 匹配其前面的字符1次或者0次

\{m,n\} 匹配其前面的字符至少m次,至多n次

grep 'a\{1,3\}b' test.txt

ab

aab

grep 'a.\{1,3\}b' test.txt


位置锚定:

^ 锚定行首,锚定符之后的字符必须出现在行首

grep '^r..t' /etc/passwd

$ 锚定行尾,锚定符之前的字符必须出现在行尾

grep 'b..h$' /etc/passwd

^$ 空白行

grep '^$' /etc/inittab

\<或者\b 锚定词首,其后的任意字符必须作为单词首部出现

\>或者\b 锚定词尾,其前的任意字符必须作为单词尾部出现

\<root\>


分组:

\(\) 把内容分组

\(ab\)*

后向引用

\1 引用第一个左括号以及与之对应的右括号所包含的内容

grep '\(1..e\).*\1' test.txt 

grep '\([0-9]\).*\1$' /etc/inittab 行里出现数字,已相同的数据结尾



扩展正则表达式: (和一般正则表达式不同是很多地方不用加\了)

-E 使用扩展正则表达式

字符匹配:

.

[]

[^]

次数匹配:

*:

?:

+: 匹配其前面的字符至少一次

?和+ 相当于* 

{m,n} 


分组:

()

或者

|

C|cat   C或者cat 

(C|c)at   Cat或者cat




     本文转自阿伦艾弗森 51CTO博客,原文链接:http://blog.51cto.com/perper/1946383,如需转载请自行联系原作者


相关文章
|
3月前
|
Unix Linux C语言
在Linux中,grep和egrep命令的区别?
在Linux中,grep和egrep命令的区别?
|
6月前
|
Rust 监控 安全
【专栏】`ripgrep`(rg)是Linux下快速、内存高效的文本搜索工具,用Rust编写,支持PCRE2正则表达式
【4月更文挑战第28天】`ripgrep`(rg)是Linux下快速、内存高效的文本搜索工具,用Rust编写,支持PCRE2正则表达式。相比`grep`,它在处理大文件和复杂模式时更具优势。安装`rg`可通过软件包管理器,如在Debian系系统中使用`sudo apt install ripgrep`。基本用法包括简单搜索、递归搜索、忽略大小写、显示行号等。高级功能包括固定字符串搜索、多文件匹配、并行搜索、排除选项和区域搜索。适用于日志分析、代码审查等场景,是提升工作效率的利器。
508 4
|
6月前
|
Linux Shell
Linux下的Shell基础——正则表达式入门(四)
Linux下的Shell基础——正则表达式入门(四)
46 1
Linux下的Shell基础——正则表达式入门(四)
|
6月前
|
存储 算法 Shell
【Shell 命令集合 文档编辑】Linux 正则表达式匹配 egrep命令使用教程
【Shell 命令集合 文档编辑】Linux 正则表达式匹配 egrep命令使用教程
76 0
|
Linux Shell Perl
第十一章、【Linux】正则表达式与文件格式化处理
第十一章、【Linux】正则表达式与文件格式化处理
70 0
|
Unix Linux
如何在 Linux 中使用 Grep 和正则表达式进行文本搜索?
如何在 Linux 中使用 Grep 和正则表达式进行文本搜索?
328 5
|
Linux Perl
[笔记]linux grep之正则表达式
[笔记]linux grep之正则表达式
|
机器学习/深度学习 Linux
Linux强大的文本搜索命令:egrep
Linux强大的文本搜索命令:egrep
187 0
|
机器学习/深度学习 NoSQL Linux
Linux行处理工具: grep 正则表达式
Linux行处理工具: grep 正则表达式
113 0
|
Linux Windows
【Linux命令篇】正则表达式浅析
转义字符是将普通字符转化为特殊字符的一种方式。 在正则表达式中,一些字符被定义为特殊字符(也称为元字符),它们具有特殊的含义。这些特殊字符包括:
168 0