CentOS7上にてパイプ経由rubyを使う方法はありませんか?
環境 : CentOS7 ruby2.3.0
[root@5ecf1469c888 ~]# irb
2.3.0 :001 > 10.times do |i| `touch #{i}.txt` end
=> 10
2.3.0 :002 > exit
[root@5ecf1469c888 ~]# ls
0.txt 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt anaconda-ks.cfg git
ワンライナーで何か作業を行う時にパイプなどでrubyに渡して処理させることは可能でしょうか?
上記の例だと、irb環境でシェルを使っているのですが逆のことを行いたいのです。
シェル環境でrubyを使う。
例↓イメージでいうとこのような感じ
[root@5ecf1469c888 ~]# ls |irb puts
Switch to inspect mode.
/usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb/magic-file.rb:8:in `initialize': No such file or directory @ rb_sysopen - puts (Errno::ENOENT)
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb/magic-file.rb:8:in `open'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb/magic-file.rb:8:in `open'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb/input-method.rb:101:in `initialize'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb/context.rb:85:in `new'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb/context.rb:85:in `initialize'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb.rb:426:in `new'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb.rb:426:in `initialize'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb.rb:381:in `new'
from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/irb.rb:381:in `start'
from /usr/local/rvm/rubies/ruby-2.3.0/bin/irb:11:in `<main>'
簡単な例でいうと
ls で標準出力される結果を ruby のputs で表示させる。
他にはパイプで渡した結果を.splitメソッドなどを使ってやりたいのです。