Parsing 如何在Julia中解析外部命令的输出?

Parsing 如何在Julia中解析外部命令的输出?,parsing,julia,Parsing,Julia,假设我有一个名为“Busca01.x”的外部命令,它返回三个由制表符分隔的整数,如下所示: karel@maquina: Busca01.x 192 891 9029 因此,我可以从julia调用它,并使用 readall或readchomp。我需要数据作为数组或元组,但我似乎无法使其工作,尽管数据的结构很明显。我认为inreaddlm可能是答案,但我似乎无法让它起作用 我的朱莉娅是3.7.22岁之前 因为返回一个字符串,所以您需要对字符串进行操作的东西,split符合要求 Base

假设我有一个名为“Busca01.x”的外部命令,它返回三个由制表符分隔的整数,如下所示:

karel@maquina: Busca01.x
192    891   9029
因此,我可以从julia调用它,并使用
readall
readchomp
。我需要数据作为数组或元组,但我似乎无法使其工作,尽管数据的结构很明显。我认为in
readdlm
可能是答案,但我似乎无法让它起作用

我的朱莉娅是3.7.22岁之前

因为返回一个字符串,所以您需要对字符串进行操作的东西,split符合要求

Base.split(字符串,[chars];limit=0,keep=true) 通过在上拆分给定字符串来返回子字符串数组 给定字符分隔符的出现次数,可能是 以“搜索”的第二个允许的任何格式指定 参数(即单个字符、字符集合、, 字符串或正则表达式)。如果省略了“chars”,则 默认为所有空格字符集,并采用“保留” 这是假的。这两个关键字参数是可选的:它们是 结果的最大大小和确定是否为空的标志 结果中应保留字段

所以考虑到这样的输出

julia> x = readall(pipe(`echo "A B C"`,`awk -F ' ' '{print $1"\t"$2"\t"$3 }'`))
"A\tB\tC\n"
田野是

julia> split(x)
3-element Array{SubString{ASCIIString},1}:
 "A"
 "B"
 "C"
或者把它变成一个元组

julia> tuple(split(x)...)
("A","B","C")