gpt4 book ai didi

linux - 实时逐行解析程序输出

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:26 24 4
gpt4 key购买 nike

我有一个程序执行一些繁重的处理(ML 算法)并将大量数据(读取 GB 的纯文本)写入标准输出。在某些特定情况下,我只需要输出的一小部分,但现在我正在保存一个(巨大的)文本文件,然后解析其中的行以获取我的数据。

虽然完全有效,但我的方法非常有效。有没有办法避免生成如此大的文件(因为无论如何都会删除大部分数据),并逐行进行动态解析。

执行:

./myProgram model test > myOutput

我的输出内容(百万行):

0, blah blah blah thousand of more blahs -> [ I care data inside brackets ]
0, blah blah blah thousand of more blahs -> [ I care data inside brackets ]
....

我认为最好的选择是使用 unix 管道来链接结果,但我不知道如何逐行发送数据,让 python 或 java 应用程序解析它吧。

./myProgram model test | <now what>

最佳答案

要在要用于过滤数据的脚本中读写数据,只需从/向标准输入/输出读写即可。

./myProgram model test | ./filter.py > myOutput

过滤器.py:

import sys

for line in sys.stdin:
if some_condition:
sys.stdout.write(line)

如果条件只是在数据中有一些模式你不需要脚本,你可以简单地使用 grep 来过滤行:

 ./myProgram model test | grep 'interesting_pattern' > myOutput

关于linux - 实时逐行解析程序输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27728179/

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