使用Ruby更好地实现命令行随机化

时间:2011-03-28 22:18:49

标签: ruby command-line-interface

enter code here这是一个随机化STDIN的一个班轮,目的是提供一个文件列表和尾巴-N给你一个巨大的列表中的N随机(大于N):

 ruby -e 'arr=[]; ARGF.each {|line| arr << line}; puts arr.sort_by {rand}'

我想知道是否有更短的版本。

获胜者是:

find . -type f | ruby -e 'puts ARGF.sort_by {rand}'

3 个答案:

答案 0 :(得分:3)

怎么样:

ruby -e 'puts ARGF.sort_by{rand}'

答案 1 :(得分:1)

这是你在找什么?

ruby -e 'p ARGF.to_a.sample'

答案 2 :(得分:0)

谁需要stdin?

Dir["*"].select {|v| v if File.file?(v)}.sort_by {rand}