Chinaunix

标题: grep -A与grep -B在实现上有什么区别 [打印本页]

作者: aximofu    时间: 2010-03-22 11:07
标题: grep -A与grep -B在实现上有什么区别
RT,在面试一家公司的时候,面试官的提问

只知道grep -A 是查询符合目标的下几行;grep -B是上几行。
grep -A 的话效率应该比 grep -B 高一点?

其他在实现上还有什么区别吗?
作者: iori809    时间: 2010-03-22 11:20
回复 1# aximofu


    哪个公司啊?这么追求细节~应该是高端职位吧~这种纯学术问题不好回答啊
作者: aximofu    时间: 2010-03-22 11:22
嗯。工作职责主要就是用脚本来维护服务器,问的比较细
作者: ywlscpl    时间: 2010-03-22 11:23
我想知道这个面试官是否看了grep源代码,否则对一个自己都不确定答案的问题他怎么问的出口
作者: Shell_HAT    时间: 2010-03-22 11:29
用脚本来维护服务器不必要去读grep的源代码吧
作者: aximofu    时间: 2010-03-22 11:32
可能是想了解一下我对shell掌握的有多深吧,实际应用应该不会用到。
只是问题既然提出来了,就想知道一下答案
作者: iori809    时间: 2010-03-22 11:38
回复 6# aximofu


    能说下哪个公司吗这么厉害啊呵呵
作者: Shell_HAT    时间: 2010-03-22 11:48
感觉不是考察shell掌握的有多深啊,这种问题只有读过、分析过grep的源代码才能回答啊。
作者: aximofu    时间: 2010-03-22 11:55
回复 7# iori809


    国内很大的一家互联网行业的企业,具体公司名就不说了:wink:
作者: OpenBSD5    时间: 2010-03-22 11:57
你管他哪个用得多,知道怎么用就行了,该用时则用!
作者: iori809    时间: 2010-03-22 12:00
回复 9# aximofu


    恩~能感觉到是大公司。应该是几大门户网站之一~果然要求不一样。
作者: 709101040516    时间: 2010-03-22 12:09
51job 吗/
作者: obsd178    时间: 2010-08-08 19:11
回复 11# iori809


    -A after -B before 哪个用的多到不清楚,用到的时候就知道嘛!
作者: blackold    时间: 2010-08-08 23:50
本帖最后由 blackold 于 2010-08-08 23:52 编辑

纯属瞎猜:
grep -A 的话效率应该比 grep -B 高一点,道理就像Lookahead 和 Lookbehind Zero-Width一样,前进总比后退效率高。 前进可以达到时速200公里,倒车就是爬行。

在实现上,grep -A不用“保存“前面的行,而-B则要"保存“前面的行。

仅供参考,后果自负。
作者: zt3862266    时间: 2010-08-09 09:24
我觉得grep其实就是fseek到特定的指针位置处吧,至于前几行或者后几行,就是移动指针位置问题吧,效率不会应该有大的差异
作者: blackold    时间: 2010-08-09 09:36
回复 15# zt3862266


具体是什么样的, 这要看grep的实现了。
作者: wild_li    时间: 2010-08-09 09:45
这个要求有点高,,,黑哥依旧.........
作者: waker    时间: 2010-08-09 10:01
是想考你有没有理解牛顿第一定律吧
作者: blackold    时间: 2010-08-09 10:04
回复 18# waker


    呵呵,waker说的比较形象。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2