Linux 入门详解 25

55 阅读2分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

优先级

优先级为从上到下从左到右,依次降低:

运算符说明
\转义符
(),(?:),(?=),[]括号和中括号
*,+,?,{n},{n,},{n,m}限定符
^,$,\ 任何元字符定位点和序列
选择

grep 命令

用于打印输出文本中匹配的模式串,它使用正则表达式作为模式匹配的条件。grep 支持三种正则表达式引擎,分别用三个参数指定:

参数说明
-EPOSIX 扩展正则表达式,ERE
-GPOSIX 基本正则表达式,BRE
-PPerl 正则表达式,PCRE

不过在你没学过 perl 语言的大多数情况下你将只会使用到 ERE 和 BRE,所以我们接下来的内容都不会讨论到 PCRE 中特有的一些正则表达式语法(它们之间大部分内容是存在交集的,所以你不用担心会遗漏多少重要内容)。

在通过grep命令使用正则表达式之前,先介绍一下它的常用参数:

参数说明
-b将二进制文件作为文本来进行匹配
-c统计以模式匹配的数目
-i忽略大小写
-n显示匹配文本所在行的行号
-v反选,输出不匹配行的内容
-r递归匹配查找
-A nn 为正整数,表示 after 的意思,除了列出匹配行之外,还列出后面的 n 行
-B nn 为正整数,表示 before 的意思,除了列出匹配行之外,还列出前面的 n 行
--color=auto将输出中的匹配项设置为自动颜色显示
注:在大多数发行版中是默认设置了 grep 的颜色的,你可以通过参数指定或修改GREP_COLOR环境变量。关于正则表达式和 grep 命令的内容就介绍这么多,下面会介绍两个更强大的工具 sed 和 awk,但同样也正是因为这两个工具的强大,我们的内容无法包含它们的全部,这里将只对基本内容作介绍。