You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么Linux重定向操作符无法捕获go-sigma-rule-engine的命令输出

问题诱因

大部分Go语言开发的CLI工具(包括你使用的go-sigma-rule-engine)默认会将INFO、WARN、ERROR等不同级别的日志内容输出到**标准错误流(stderr)**而非标准输出流(stdout)。你使用的>重定向符默认仅会捕获stdout的内容,stderr的内容依旧直接输出到终端屏幕,所以最终生成的output.txt文件为空。

可用解决方案

你可以通过shell重定向规则调整流捕获范围,有以下几种常用方案:

  • 方案1:将stdout和stderr同时写入文件
    使用兼容POSIX标准的重定向写法即可捕获全部输出:
    ./gsre/go-sigma-rule-engine run --rules-dir ./gsre/rules/ --sigma-input ./logs/exampleLog.json > output.txt 2>&1
    
    也可以使用bash/zsh支持的简化写法:
    ./gsre/go-sigma-rule-engine run --rules-dir ./gsre/rules/ --sigma-input ./logs/exampleLog.json &> output.txt
    
  • 方案2:同时保留屏幕输出和文件存储
    如果需要一边运行一边在终端查看输出,同时将内容写入文件,可以结合tee命令实现:
    ./gsre/go-sigma-rule-engine run --rules-dir ./gsre/rules/ --sigma-input ./logs/exampleLog.json 2>&1 | tee output.txt
    

内容的提问来源于stack exchange,提问作者Prithvi Boinpally

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 17:06:03