grep golf grep.txt
此命令在 grep.txt 文件中搜索字符串 golf 的所有实例,并输出包含该字符串的行。您的输出应该类似如下:
I like golf.
使用方括号
下一步,试验一些上面讨论过的特殊字符。您可以使用方括号(方括号表达式)来指示您想要搜索 golf 和 Golf:
grep [gG]olf grep.txt
输出应该类似如下:
I like golf.
Golf is played on grass.
句点
若要搜索 golf 和 gilf,您同样可以使用方括号。取而代之的是,可以尝试使用一个句点来指示您想要搜索 g 和 lf 之间的任何字符:
$grep g.lf grep.txt
输出应该类似如下:
I like golf.
I created gilf.
搜索 golf、Golf 和 gilf
您现在已经找到了获得每种 golf 变体的方法,但是还没有哪个搜索返回了所有三个实例:golf、Golf 和 gilf。花点时间考虑一下如何搜索所有三个实例。这可以通过多种方法来实现。下面是两个示例:
grep ..lf grep.txt
grep [gG][oi]lf grep.txt
这两种方法都返回所有三行:
I like golf.
Golf is played on grass.
I created gilf.
短横线
您是否能够想出更多的方法来完成此任务呢?到目前为止,您仅学习了两个在正则表达式中使用的特殊字符。这只是开始!有些特殊字符在其他特殊字符之内使用。例如,当您将一组字符包括在方括号中时,您可以使用短横线 (-) 来搜索一系列字符。将以下行添加到您的文本文件:
What is g2lf?
使用您到目前为止已学到的知识,您知道如果使用类似于 g.lf 或 g[oi2]lf 的正则表达式,则这一行将包括在搜索结果中。使用句点将返回在该位置具有任何字符的结果;使用 [oi2] 将返回仅在该位置具有 o i 或 2 的结果。通过使用一个短横线,您可以实现第三种方法,其中不只包括少数字符,但并不是包括每个字符:
标签: