gpt4 book ai didi

perl:捕获 STDOUT- 日志文件以二进制形式结束

转载 作者:行者123 更新时间:2023-12-02 22:30:37 25 4
gpt4 key购买 nike

我编写了一个脚本,将数据输入到一个名为 ctffind 的 exe 程序中。 exe 程序将一堆数据输出到屏幕,我试图在日志文件中捕获这些数据。

这是我现在正在使用的

my $logout = logfile 
open STDOUT, '>>', "$logout";
open my $PIPE1, '|-', '/opt/ctf/ctffind3_mp.exe' or die $!;

它可以将屏幕上出现的所有内容输出到日志文件中。

如果我 more $logfile 文件按预期显示,它大约有 5000 行长,并且有大约 50 行包含字符串“final values”。在我的下一步中,我执行 grep "final values"logfile 它认为 logfile 是一个二进制文件并且不起作用而是返回:

Binary file logfile matches

如何设置它以便正确编码日志文件?ctffind.exe 在运行时也会生成二进制文件,这是问题的一部分吗?

最佳答案

感谢评论者的建议,我找到了两种不同的方法来解决问题:

  1. 可以将 grep logfile 更改为 grep -a logfile

  2. 可以使用 strings logfile logfile2 制作日志文件的可用版本。

关于perl:捕获 STDOUT- 日志文件以二进制形式结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12324228/

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