我正在尝试通过以下代码读取由 linux 命令生成的某些字符串输出:
out, err := exec.Command("sh", "-c", cmd).Output()
以上是[]byte类型,如何区分行内容中包含的“\n”字符与真正的换行符?我试过
strings.Split(output, "\n")
和
bufio.NewScanner(strings.NewReader(output))
但是每当看到“\n”字符时,它们都会拆分整个字符串缓冲区。
好的,澄清一下,“不真实”的中断是包含在字符串中的“\n”字符,如下所示,
Print first result: "123;\n234;\n"
Print second result: "456;\n"
整个输出是一个大的多行字符串,它可能还包含一些其他带引号的字符串,我在我的go程序中处理整个字符串输出,但我无法控制命令输出并在“之前添加反斜杠\n" 字符。
进一步澄清:我的意思是处理包含字符串的字节序列,并希望保留\n内部字符串中包含的“ ”并使用外层“ \n”来断行。所以对于以下字节序列:
First line: "test1"
Second line: "123;\n234;\n345;"
Third line: "456;\n567;"
Fourth line: "test4"
我想在处理整个序列时得到 3 行,而不是总共得到 7 行。这是一个旧项目,但我记得我可以使用Python直接使用“ for line in f”之类的语法获取3行,并打印第二个内部字符串的内容而不是渲染它。
海绵宝宝撒
米琪卡哇伊
相关分类