我在bash环境中非常新,所以如果这个问题显而易见,我会提前道歉......
我有这个输出:
log:
-68 -73 -70 -72 -74 -74 -75 -73 -79 port1
-68 -73 -70 -72 -74 -74 -75 -73 -79 port1
-68 -73 -70 -72 -74 -74 -75 -73 -79 port1
我希望将这些测量值分配给数组:
mes_port1[1] = -68
mes_port1[2] = -73
mes_port1[3] = -70
.
.
.
mes_port1[7] = -73
你可以看到日志是多行,但只是为了从最后一行得到结果。 它也可以是一个数值,我可以用它们做一些计算吗?
感谢的
答案 0 :(得分:0)
这将从日志的最后一行获取所有值到数组:
read -r -a mes_port1 < <(tail -n1 /your/file.log)
然后您可以这样访问成员:
> echo ${mes_port1[0]}
-68
> echo ${mes_port1[2]}
-70
> echo ${mes_port1[8]}
-79
答案 1 :(得分:0)
正如你所说:a)只有最后一行sed
:b)不要对数组使用“port1”(用declare -a array_name=($( command_for_output | tail -n 1 | sed 's/port1//' ))
删除)
array_name=($( command_for_output | tail -n 1 | sed 's/port1//' ))
或更简单:
echo ${array_name[0]}
-68
请注意,bash数组以索引0开头!所以你最终会得到:
//Declare with default value
private _possessions: Array<Thing> = new Array<Thing>();
等等。