跳转到内容

Unix 快速入门/更多 grep 示例

来自维基教科书,开放的书籍,开放的世界


可以使用符号 ^ 将搜索限制为在行首查找字符串。示例

grep '^A' filename

在行首查找字符串 A

可以使用符号 $ 将搜索限制为在行尾查找字符串。示例

grep '5$' filename

在行尾查找字符串 5

计数空行

[编辑 | 编辑源代码]

组合搜索字符串 ^$ 查找空行。

匹配任何单个字符

[编辑 | 编辑源代码]

元字符 . 匹配任何单个字符,除了行尾字符。

输入文件包含这些行

one
bone
throne
clone

我们用搜索

grep '.one' filename

结果是

bone
throne
clone

第一行不匹配。

匹配零个或多个字符

[编辑 | 编辑源代码]

元字符 * 匹配前一个字符的零个或多个出现次数。

输入文件 bells 包含这些行

bel
bell
belll
be
bet

我们用搜索

grep 'bel*' bells

结果是

bel
bell
belll
be
bet

输入文件与之前的示例相同。. 用于 * 之后,以要求至少有一个字符。

我们用搜索

grep 'bel*.' bells

结果是

bel
bell
belll

将其与之前的示例进行对比。在这里,我们匹配除了 be 之外的所有内容。

输入文件与之前相同。

我们用搜索

grep 'bel.*' bells

结果是

bel
bell
belll

字符列表

[编辑 | 编辑源代码]

您可以使用用 [] 括起来的字符列表,它将匹配列表中的任何单个字符。

输入文件是 lines

This is the zero line
Here y 
Crosses x

我们用搜索

grep [xyz] lines

结果是

This is the zero line
Here y 
Crosses x

输入文件与之前相同。

我们用搜索

grep [xyb] lines

结果是

Here y 
Crosses x
华夏公益教科书