对于完成的输入(如文件),我们可以这样做:
cat file | grep -o memory=[3-9] | sort -u但是sort不能处理流:
tail -f server.log | grep -o memory=[3-9] | sort -userver.log可以是无限流(实时日志)。以上命令可持续数小时。
我如何聚合结果--将另一个工具添加到管道中,或者以某种方式使sort工作?
或:
除了grep之外,还有什么可供选择的方法呢?在此基础上,将参数传递到下一步--管道的下一个工具。我不确定烟斗是否会允许这样做。
也许管道的第二部分必须是一个组合的部分(就像某个东西同时执行grep+sort )。
我只对命令行的方法感兴趣。
它可能类似于watch,但是更新了前面的结果。
例如:与其看到大量的线条,不如:
memory=4
memory=4
memory=4
memory=4
memory=2
...我只想看到:
memory=4
memory=2上面的输出是简化的,我想突出强调这样的输出聚合是我的主要问题。
发布于 2019-02-15 11:35:19
工作解决办法是:
$ tail -f infinite_server.log | grep -o memory=[3-9] > output &然后
$ watch "cat output | sort -u"https://askubuntu.com/questions/1118468
复制相似问题