【发布时间】:2020-02-18 13:17:31
【问题描述】:
我有一些命令行字符串:
ffmpeg -i input.mp4 output.avi
ffmpeg -i "my input.mp4" output_2.api
我想将它们解析为切片:[ffmpeg, -i, input.mp4, output.avi] 和 [ffmpeg, -i, "my input.mp4", output_2.avi]。有什么稳定的方法吗?
【问题讨论】:
-
stdlib 没有为各种 shell 使用的语法提供任何特殊的东西,并且从外部库请求在 SO 上是 OT。
-
你可以试试
shlex。 -
您可以使用
encoding/csv,将Comma字段设置为空白符文,如下所示:play.golang.com/p/0b57oPG9QPD 如果原始字符串在元素之间可以有多个空格,您将需要额外覆盖切片并删除空字符串。这将适用于您在问题中提供的两个输入,但这不是一个通用的解决方案,并且很可能会在更复杂的输入上中断。
标签: go command-line