我编写了一个脚本,将数据输入到一个名为 ctffind 的 exe 程序中。exe 程序将一堆数据输出到我试图在日志文件中捕获的屏幕。
这是我现在正在使用的
my $logout = logfile
open STDOUT, '>>', "$logout";
open my $PIPE1, '|-', '/opt/ctf/ctffind3_mp.exe' or die $!;
它可以将屏幕上出现的所有内容输出到日志文件中。
如果我more $logfile
按预期显示文件,它大约有 5000 行长,并且大约有 50 行包含字符串“最终值”。在我的下一步中,我grep "final values" logfile
认为日志文件是一个二进制文件并且不起作用,而是返回:
Binary file logfile matches
如何设置它以便正确编码日志文件?ctffind.exe 在运行时也会生成二进制文件,这是问题的一部分吗?