grep的效率为啥这么高?

sh/bash/dash/ksh/zsh等Shell脚本
fnan
帖子: 919
注册时间: 2009-07-01 22:04

Re: grep的效率为啥这么高?

#16

帖子 fnan » 2011-10-10 21:05

lilydjwg 写了:
fnan 写了:kose5@kose5-Aspire-4552:~$ time grep '[0-9][a-z][0-9]' a.txt|wc -l
79278

real 1m13.000s
user 1m12.900s
sys 0m0.080s
kose5@kose5-Aspire-4552:~$
# 结果一样(更糟?),其实-c所用时间非常少。
结果当然会更糟——少了个计数器,但要将匹配行输出,断行还是不能避免。也许那个优化算法只能对 -q 这种选项有效了。。。
#其他的也要匹配行输出啊,不到1秒呢。
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: grep的效率为啥这么高?

#17

帖子 lilydjwg » 2011-10-10 21:40

fnan 写了:
lilydjwg 写了:
fnan 写了:kose5@kose5-Aspire-4552:~$ time grep '[0-9][a-z][0-9]' a.txt|wc -l
79278

real 1m13.000s
user 1m12.900s
sys 0m0.080s
kose5@kose5-Aspire-4552:~$
# 结果一样(更糟?),其实-c所用时间非常少。
结果当然会更糟——少了个计数器,但要将匹配行输出,断行还是不能避免。也许那个优化算法只能对 -q 这种选项有效了。。。
#其他的也要匹配行输出啊,不到1秒呢。
那我就不知道为什么 grep 不如它们了。。。
没人疼
帖子: 13
注册时间: 2010-01-11 13:13

Re: grep的效率为啥这么高?

#18

帖子 没人疼 » 2011-10-12 13:39

fnan 写了:#a.txt是个五十万行的文件。
kose5@kose5-Aspire-4552:~$ time grep -c '[0-9][a-z][0-9]' a.txt
79278 (汗,不仅慢,还是错误的)
开启grep的正则功能需要加参数 grep -E 或者 egrep也行。
fnan
帖子: 919
注册时间: 2009-07-01 22:04

Re: grep的效率为啥这么高?

#19

帖子 fnan » 2011-10-13 6:46

没人疼 写了:
fnan 写了:#a.txt是个五十万行的文件。
kose5@kose5-Aspire-4552:~$ time grep -c '[0-9][a-z][0-9]' a.txt
79278 (汗,不仅慢,还是错误的)
开启grep的正则功能需要加参数 grep -E 或者 egrep也行。
#新手阿?
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
没人疼
帖子: 13
注册时间: 2010-01-11 13:13

Re: grep的效率为啥这么高?

#20

帖子 没人疼 » 2011-10-13 11:07

fnan 写了:
没人疼 写了:
fnan 写了:#a.txt是个五十万行的文件。
kose5@kose5-Aspire-4552:~$ time grep -c '[0-9][a-z][0-9]' a.txt
79278 (汗,不仅慢,还是错误的)
开启grep的正则功能需要加参数 grep -E 或者 egrep也行。
#新手阿?
不知道你想表达什么,是我解释的有问题?
fnan
帖子: 919
注册时间: 2009-07-01 22:04

Re: grep的效率为啥这么高?

#21

帖子 fnan » 2011-10-14 3:02

不 加 -E 是 不用 扩展正则 ,基本正 则 可以用 的 .
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
回复