Ecco un veloce e c modo oncise di farlo.
# Open first file, read it, store it, then close it
input = File.open(ARGV[0]) {|f| f.read() }
# Open second file, write to it, then close it
output = File.open(ARGV[1], 'w') {|f| f.write(input) }
Un esempio per l'esecuzione sarebbe.
$ ruby this_script.rb from_file.txt to_file.txt
Questo viene eseguito this_script.rb e prende in due argomenti attraverso la riga di comando. Il primo nel nostro caso è from_file.txt (testo viene copiato da) e il secondo argomento second_file.txt (testo essendo copiato).
fonte
2012-02-21 10:43:06
si potrebbe spiegare lo scopo di: 'script = $ 0', anche proteggere contro la lettura di un file più grande di memoria. –