1
この文字列を配列に変更するのが難しいです。これは本当に簡単なはずですが、Rubyを使うのはかなり新しいです。私はそれを得ることができないので、私は.splitを使用しようとしていました。ルビのシェルスクリプトを
tcpPorts = %x(sudo netstat -ntpl |awk '{ if(NR > 2) print " "$4" "}' | awk -F: '{print $NF}')
この文字列を配列に変更するのが難しいです。これは本当に簡単なはずですが、Rubyを使うのはかなり新しいです。私はそれを得ることができないので、私は.splitを使用しようとしていました。ルビのシェルスクリプトを
tcpPorts = %x(sudo netstat -ntpl |awk '{ if(NR > 2) print " "$4" "}' | awk -F: '{print $NF}')
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 "]
まったく簡単ではありません。しかし、標準のlib Shellwordsを見てください。それはカスタムsplit
メソッドを持っています。
配列はどうあるべきか?期待される配列の例が役に立つでしょう。 – rodsoars
'split'を使ってコードを見せてもらえませんか?私はちょうど 'tcpPorts.split'を試したので完全に動作しましたので、あなたが何をしようとしているのか完全にはわかりません。 – eiko
あなたはルビーを知っているがawkを知らないすべての人々があなたを助けてくれるのが好きです。喜んで普通の英語であなたの発音の説明を追加してください。 – Meier