gpt4 book ai didi

Bash 不等待管道后的完整结果,而是立即对直接输出采取行动

转载 作者:行者123 更新时间:2023-12-05 03:12:14 25 4
gpt4 key购买 nike

当使用 grep -r "something". 时,它会在找到某些东西时打印输出。

每当之后使用管道进行后处理时,它都会等待直到收到所有输出。

有没有什么方法/语法可以在每行可用时管道化?

不要费心改进这个例子,它真的只是一个例子:

grep -r "something" . | grep -v "somethingelse"  # excluding somethingelse

结果只会在搜索完所有内容后出现(因为管道 |),但我正在寻找可以在 grep -r 的每一行上响应的语法something”。 当“线路可用”时。

可以通过管道传输到等待输入并处理到达它的任何内容的程序,但是使用管道只会在完成时向它发送数据?

有没有人有想法?

最佳答案

grep 你可以使用--line-buffered 选项。如果程序没有类似的选项,可以使用stdbuf程序,例如:

tail -f access.log | stdbuf -oL cut -d ' ' -f1 | uniq

在此示例中,stdbuf 运行 cut 程序,其输出流被修改为行缓冲。

关于Bash 不等待管道后的完整结果,而是立即对直接输出采取行动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34375329/

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