【发布时间】:2012-09-22 14:37:41
【问题描述】:
我需要使用 egrep 在 shell 中查找并显示以 r 开头并以 g 结尾的行。
我有
egrep -e "^r*g$" testfile.txt
但它没有给我任何结果,我做错了什么?
【问题讨论】:
-
虽然你可以在双引号字符串的末尾放置一个
$,但最好用单引号来写:'^r.*g$' -
您将正则表达式与 shell 使用的文件匹配模式(“globbing”)混淆了。在正则表达式中,
.匹配单个字符,.*匹配零个或多个字符;在文件匹配模式中,它是?和*,而.并不特殊。文件匹配模式不太强大,但由于其选择文件的有限目的而往往更方便。