猿问

如何读取带有颜色属性的命令输出?

是否可以读取带有颜色属性的命令输出。我的意思是,我们可以读取实际的转义序列吗?


例如; 命令输出为红色:


Hello

我想把它读作:


\033[31;1;4mHello\033[0m

目前我正在阅读它:


func stat(hash string) string {

    cmd := exec.Command("git", "show", "--stat", hash)

    out, err := cmd.Output()

    if err != nil {

        return err.Error()

    }

    return string(out)

}


当年话下
浏览 98回答 1
1回答

阿晨1998

使用 github.com/creack/pty 库在 pty 中运行命令这对我有用转义序列在输出中可见package mainimport (    "github.com/creack/pty"    "io"    "os"    "os/exec")func main() {    hash := os.Args[1]    cmd := exec.Command("git", "show", "--stat", hash)    f, err := pty.Start(cmd)    if err != nil {        panic(err)    }    io.Copy(os.Stdout, f)}
随时随地看视频慕课网APP

相关分类

Go
我要回答