gpt4 book ai didi

unix - 为什么 grep 需要这么多时间?

转载 作者:行者123 更新时间:2023-12-01 14:59:10 24 4
gpt4 key购买 nike

我正在使用 grep 来计算文件 graph.tcl 中字符串“^mj”的出现次数。
我写的命令很简单,你很容易理解。

grep "^mj " mjwork/run/graph.tcl | wc -l



它输出 46625但在 ~45 min 之后.你们能提出一个更好的方法来减少时间吗?

最佳答案

以下行可能会使其更快:

$ awk '/^mj/{c++}END{print c}' file

这只会处理文件一次,并且只会打印匹配的总数。这与您最初要求 grep 将所有内容打印到缓冲区并再次使用 wc 处理的情况相反。 .

最后,你也可以这样做:
$ grep -c '^mj' file

它只返回总匹配。这可能比 awk 版本还要快。默认情况下,awk 将尝试进行字段拆分,上述 grep 不需要此操作。

有很多原因会导致您的进程运行缓慢、磁盘负载过重、使用它时 nfs 运行缓慢、需要解析的行非常长……没有关于输入文件和运行它的系统的更多信息,很难说为什么它这么慢。

关于unix - 为什么 grep 需要这么多时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7007791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com