2017-07-19 156 views
1

我很難將此字符串更改爲數組。這應該是非常簡單的,但使用紅寶石很新,我似乎無法得到它,我試圖使用.split。將shell腳本轉換爲ruby數組

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

如何數組應該是什麼?預期數組的一個例子會很有幫助。 – rodsoars

+0

你能告訴我們使用'split'的代碼不起作用嗎?因爲我剛剛嘗試過'tcpPorts.split'並且它工作得很好,所以我不完全確定你想要做什麼。 – eiko

+0

我喜歡所有知道紅寶石但不知道awk的人會幫助你,pleasse在正常的英語中添加你的pronlem描述。 – Meier

回答

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 "]