0

随着我对 UNIX 命令的了解越来越多,我开始在工作中使用 sed。Sed 的设计是逐行读取文件,并在每一行单独执行命令。

grep 如何处理文件?我尝试了各种谷歌搜索“是否 grep 逐行处理”的方法,但没有真正具体的出现。

4

3 回答 3

6

为什么 GNU grep 很快

此外,GNU grep 避免将输入分成几行。寻找换行符会使 grep 减慢几倍,因为要找到换行符,它必须查看每个字节!

进而

  • 在找到匹配项之前,不要在输入中查找换行符。
于 2013-06-20T14:30:38.527 回答
1

编辑:我会纠正自己。它既不是逐行也不是完整文件,它就放置在缓冲区中的数据块而言。

更多细节在这里http://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html

于 2013-06-20T14:28:54.200 回答
0

您传递给 grep 的正则表达式没有任何指定换行符的方式(尽管您可以指定匹配行的开头或结尾)。

所以它似乎逐行工作,即使实际上它可能不会以与其他字符不同的方式处理行尾。

于 2013-06-20T14:38:22.987 回答