- 论坛徽章:
- 33
|
回复 14# Shell_HAT
跟 regex 无关的.
举个例子.
- filea
- --------------
- adfafad
- fa
- dfadf
- asdfa
- df
- adf
- adf
- asd
- fads
- fdas
- fd
- asf
- dasf
- das
- fasd
- fd
- asfd
- asf
- asaa
- dsf
- ad
- fas
- dfd
- asf
- fasd
- fd
- asf
- dasf
- das
- fdsa
- ----------
- fileb
- ----------
- ad
- f
- adfa
- dfwe
- adfa
- sd
- --------
复制代码 以我对 grep的理解, 它应该是用b中每一行做为一个表达式, 去a中遍历. 那么, a应该被遍历6次.
如果用diff, 一次就够了. 虽然前面有 sort的过程, 但sort的算法已经很高效了, 而且, 文件越大, 效率越明显.
当然, 在现在这个例中的文件里, 完全看不出效率问题, 但随着文件的行数越来越多, 效率问题就越来越大.
当然了, 如果grep是把整个b文件当做一个大的表达式, 只遍历一次a, 那效率就不是问题了. 只是, 不知道当b大到内存都放不下时, grep如何处理. |
|