【问题标题】:How to remove special characters/escape squences using erlang os:cmd()?如何使用 erlang os:cmd() 删除特殊字符/转义序列?
【发布时间】:2017-12-01 05:55:24
【问题描述】:

最近我一直在使用 os:cmd 在本地计算机上运行命令。当我使用 os:cmd.我不仅得到了我所说的命令的输出,而且得到的字符串和输出在我的输出/字符串示例中产生或“插入”空格和转义序列:

os:cmd("WMIC BIOS 获取序列号").

生产:

"序列号\r\r\nCN9B4R1 \r\r\n\r\r\n"

我尝试搜索 erlang 文档,但 IO 库中没有任何内容向我伸出援手或敲响警钟。

非常感谢你们!

【问题讨论】:

    标签: string erlang erlang-otp


    【解决方案1】:

    你得到的是命令的完整输出。 os:cmd/1 不包含任何内容。您必须像使用任何其他语言一样处理输出并删除不需要的字符,因为您得到的正是命令产生的。使用io_libstringlistsre 模块解析输出。例如使用string:tokens\2,您可以查看并获取序列号,如

    Output = os:cmd("WMIC BIOS GET SERIALNUMBER"),
    ["SerialNumber", SerialNumber] = string:tokens(Output, " \r\n").
    

    【讨论】:

      猜你喜欢
      • 2019-06-04
      • 2016-11-23
      • 2017-08-01
      • 2021-08-01
      • 2012-04-14
      • 2010-10-14
      • 2022-08-03
      • 2021-07-01
      • 1970-01-01
      相关资源
      最近更新 更多