V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
Nazz
V2EX  ›  Go 编程语言

Go 怎么移除命令日志里的控制字符, 不依赖 shell 命令

  •  
  •   Nazz · 183 天前 · 1144 次点击
    这是一个创建于 183 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Script started on 2020 年 11 月 17 日 星期二 10 时 20 分 31 秒
    sh: 0: getcwd() failed: No such file or directory
    $ bash
    
     ]0;myuser@vir-secu3: /var/snap/amazon-ssm-agent/3315  [01;32mmyuser@vir-secu3 [00m: [01;34m/var/snap/amazon-ssm-agent/3315 [00m$ cd /data/myuser/we -se cu-standby/
    
     ]0;myuser@vir-secu3: /data/myuser/secu-standby  [01;32mmyuser@vir-secu3 [00m: [01;34m/data/myuser/secu-standby [00m$ ./deploy.sh ./de   [K  [K  [K  [K  [K
    
    deploy time: 2020-11-17_06-59-12
    
    9 条回复    2023-10-30 18:55:41 +08:00
    Jat001
        1
    Jat001  
       183 天前
    这跟 go 没半毛钱关系啊,日志怎么收集的?不能用 stdout 和 stderr 吗?
    Nazz
        2
    Nazz  
    OP
       183 天前
    @Jat001 代理工具采集的. 正则替换就能解决吧
    Fooooo0
        3
    Fooooo0  
       183 天前
    上线的时候关掉打印颜色
    jarome
        4
    jarome  
       183 天前   ❤️ 1
    使用正则啊:\x1B\\[[0-9;]*[A-Za-z]
    wkzq
        5
    wkzq  
       183 天前
    这些都是 log 的颜色, 你在初始化 log 的时候把颜色关掉就可以了
    Nazz
        6
    Nazz  
    OP
       183 天前 via Android
    @Fooooo0
    @wkzq

    最好还是我这边处理掉
    Nazz
        7
    Nazz  
    OP
       183 天前 via Android
    @jarome 这个正则只能去掉一部分,还有许多东西遗留(比如说 BEL),自己写怕漏掉什么😂
    otakustay
        8
    otakustay  
       183 天前   ❤️ 2
    tinytoadd
        9
    tinytoadd  
       183 天前 via iPhone
    [\u001B\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\u0007)|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))
    @otakustay
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2354 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 15:36 · PVG 23:36 · LAX 08:36 · JFK 11:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.