首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >semgrep -有没有办法在默认输出中删除终端代码?

semgrep -有没有办法在默认输出中删除终端代码?
EN

Stack Overflow用户
提问于 2022-08-18 05:11:49
回答 1查看 64关注 0票数 0

如果我在命令行上运行semgrep,就会得到一个非常好的输出。

但是,如果将文件保存到文件中,则在文本编辑器中打开ANSI转义序列时,会得到各种终端ANSI转义序列:

代码语言:javascript
复制
Findings:

[36m[22m[24m  ....lib/_baseutils.py [0m
     [1m[24mpython.flask.security.xss.audit.direct-use-of-jinja2.direct-use-of-jinja2[0m
        Detected direct use of jinja2. If not done properly, this may bypass HTML escaping which
        opens up the application to cross-site scripting (XSS) vulnerabilities. Prefer using the
        Flask method 'render_template()' and templates with a '.html' extension in order to
        prevent XSS.
        Details: https://sg.run/RoKe

       2252┆ templateEnv = [1m[24mEnvironment(loader=templateLoader)[0m
          ⋮┆----------------------------------------

是的,我知道我可以cat out.txt,它看起来又漂亮了。但是,如何在文本编辑器中获得一种看起来正常的格式呢?(实际上,最好的方法是减价,因为urls会起作用)。

现在,我已经测试了--json标志,但是这对于人类的可读性来说太复杂了。--vim--emacs很好,但是有点简洁,就像错过了规则urls。排在一条线上太久了。其他的输出格式,如--junit,看起来甚至不太有希望。

我想我可以用sed输出来去掉那些终端字符。还有什么其他的想法可以考虑吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-19 21:42:06

如果正常的终端打印是您想要的,那么您可以使用semgrep 支座 环境变量这个事实。所以跑步:

代码语言:javascript
复制
env NO_COLOR=1 semgrep <command> > <file>

应该给你一个文件-ANSI转义序列。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73397739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档