0
我是Ruby新手。我过去曾使用过shell。我将一个shell程序转换为ruby。我有以下命令:红宝石猫壳相似
cmd="cat -n " + infile + " | grep '127.0.0.1 '" + site
f = %x[#{cmd}]
shell cat命令返回我正在查找的行和行号。我希望能够在不使用shell的情况下在ruby中做类似的事情。可能需要将此程序移植到Windows。我可以在ruby中使用grep函数,但是如何返回行号而不必循环访问文件中的一百万行。谢谢。
压缩它更多:'File.open(f).each_with_index do | l,i | ...结束' – 2012-07-17 19:18:48
@KassymDorsel - 如果你给[File.open](http://www.ruby-doc.org/core-1.9.3/File.html#method-c-open)一个块,该文件在块返回时自动关闭。我几乎总是这样做,因为我认为它更方便。 – 2012-07-17 19:25:46