gpt4 book ai didi

linux - Linux 上的缓冲过滤管道

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:01:49 25 4
gpt4 key购买 nike

我通常在 Linux/Unix 上构建长的多命令管道来处理大型文本文件(sed | grep | sort | less 等)。

我希望能够使用一个管道元素来缓冲通过 stdin 接收到的所有内容,直到检测到关键短语/字符串(例如“SUCCESS”),此时它会将到此为止接收到的所有内容释放到 stdout 和然后继续传递其余的流。如果未检测到关键短语,程序将丢弃所有内容。

是否有可以执行此操作的标准命令,或者我是否需要编写 Perl 脚本?

在此先感谢您的任何想法!

pipe 爱好者

最佳答案

你可以使用一个简单的 awk/gawk 1 liner 来做到这一点:

编辑:更新以修复 dmckee 在他的评论中指出(并修复)的错误

gawk '{sum = sum "\n"$0} ;/成功/{打印总和}'

关于linux - Linux 上的缓冲过滤管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1372895/

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