我很难将此字符串更改为数组。这应该是非常容易的,但是使用ruby并不是新手,我似乎无法得到它,我试图使用.split。
tcpPorts = %x(sudo netstat -ntpl |awk '{ if(NR > 2) print " "$4" "}' | awk -F: '{print $NF}')
答案 0 :(得分:0)
根本不容易。但请查看标准库Shellwords,它具有自定义ROF1377516
ROF1377516/R2
ROF 137 7516-2
ROF 137 7516/1
ROF 137 7516/1 R3D
ROF137 7516/2
ROF1377516/1
ROF-137-7516/2
方法。
答案 1 :(得分:0)
使用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 "]