grep匹配正则表达式的问题

代码如下,鸟哥的Linux私房菜中有这样一个例子grep-n'^[a-z]'regular_express.txt匹配结果为appleismyfavouritefood.... 代码如下,鸟哥的Linux私房菜中有这样一个例子
grep -n '^[a-z]' regular_express.txt
匹配结果为
apple is my favourite food.
this dress doesn't fit me.
......
匹配结果显示,apple和this匹配。。书上只是说“grep列出的关键字部分不只有第一个字符,grep是列出一整个字”
请问,明明我要求的就是匹配单个字符,它为什么要给我显示整个字,这不是误导人吗?什么情况下回出现这种问题?谢谢!
展开
 我来答
让服务成就美好生活
推荐于2016-05-08 · 让服务成就美好生活!
让服务成就美好生活
采纳数:1497 获赞数:2381

向TA提问 私信TA
展开全部

grep 默认显示匹配到的行.

如果只显示匹配到的字符请加参数-o

也就是说你命令这样写能达到你想要的目的

grep -o -n '^[a-z]' regular_express.txt
更多追问追答
追问

运行结果如下所示:

也就是说,这个单词都是匹配的,不是你的那个意思。为什么会这样呢?

 

你说,grep默认显示匹配到的行,也不对吧?他是以行为单位突出显示匹配到的字符串吧

追答
你的执行结果有问题,请把你的执行命令和文件内容截图.
L1017184191
2013-12-03 · TA获得超过628个赞
知道小有建树答主
回答量:711
采纳率:0%
帮助的人:456万
展开全部
你确定?你所写的仅表示以小写字母开头的行,并非单个字符。如果要表示单个字符还得在尾部加上$符号。
追问

我确定确实是这样,不然你自己试一下。grep -n '^[a-z]'是表示以小写字母开头的一整个行吗?是匹配单个字符吧?

有图有真相

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式