在ruby中将脚本Shell到数组中

在ruby中将脚本Shell到数组中,ruby,linux,shell,Ruby,Linux,Shell,我很难将此字符串更改为数组。这应该很容易,但我对使用ruby还很陌生,我似乎无法理解它,我正在尝试使用.split tcpPorts = %x(sudo netstat -ntpl |awk '{ if(NR > 2) print " "$4" "}' | awk -F: '{print $NF}') 一点也不容易。但是看看标准库,它有一个自定义的split方法。一点也不容易。但是看看标准库,它有一个自定义的split方法。使用split(“\n”)可以工作 这在我的linux虚拟机上

我很难将此字符串更改为数组。这应该很容易,但我对使用ruby还很陌生,我似乎无法理解它,我正在尝试使用.split

 tcpPorts = %x(sudo netstat -ntpl |awk '{ if(NR > 2) print " "$4" "}' | awk -F: '{print $NF}')

一点也不容易。但是看看标准库,它有一个自定义的
split
方法。

一点也不容易。但是看看标准库,它有一个自定义的
split
方法。

使用
split(“\n”)
可以工作

这在我的linux虚拟机上正常工作:

irb(main):002:0> `sudo netstat -ntpl |awk '{ if(NR > 2) print " "$4" "}' | awk -F: '{print $NF}'`.split("\n")
=> ["22 ", "5432 ", "25 ", "38880 ", "6379 ", "111 ", "80 ", "51187 ", "22 ", "5432 ", "25 ", "3306 ", "111 "]
使用
split(“\n”)
有效

这在我的linux虚拟机上正常工作:

irb(main):002:0> `sudo netstat -ntpl |awk '{ if(NR > 2) print " "$4" "}' | awk -F: '{print $NF}'`.split("\n")
=> ["22 ", "5432 ", "25 ", "38880 ", "6379 ", "111 ", "80 ", "51187 ", "22 ", "5432 ", "25 ", "3306 ", "111 "]

阵列应该是怎样的?一个预期数组的示例会很有帮助。您能用
split
向我们展示不起作用的代码吗?因为我刚刚尝试了
tcpPorts.split
,它工作得很好,所以我不完全确定你想做什么。我希望所有懂ruby但不懂awk的人都能帮助你,请用普通英语为你添加问题描述。如果你在使用ruby,那么真的没有必要使用
awk
。在Ruby代码中这样做。数组应该是怎样的?一个预期数组的示例会很有帮助。您能用
split
向我们展示不起作用的代码吗?因为我刚刚尝试了
tcpPorts.split
,它工作得很好,所以我不完全确定你想做什么。我希望所有懂ruby但不懂awk的人都能帮助你,请用普通英语为你添加问题描述。如果你在使用ruby,那么真的没有必要使用
awk
。用Ruby代码实现。