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