From: Wybo Dekker Date: 2005-12-31T22:56:02+09:00 Subject: Re: Newb: Search & Replace On Sat, 31 Dec 2005, Robert Klemme wrote: > Wybo Dekker wrote: > > On Sat, 31 Dec 2005, Art Gillespie wrote: > > > > > #!/usr/bin/env ruby > > > > > > VERSION_HEX=ARGV[0] > > > > > > File.open("iDrum_prefix.h.tmp", "w") do |ofile| > > > File.open("iDrum_prefix.h") do |file| > > > file.each do |line| > > > if line =~ /^#define kIDComponentVersion\t*(.*)/ > > > ofile.puts line.sub($1, "#{VERSION_HEX}") > > > else > > > ofile.puts line > > > end > > > end > > > end > > > end > > > > > > File.rename("iDrum_prefix.h.tmp", "iDrum_prefix.h") > > > > with rio, you can edit a file inplace; > > this changes all x into y in file z: > > > > #!/usr/bin/ruby > > require 'rubygems' > > require 'rio' > > rio('z') < rio('z').read.gsub(/x/,'y') > > Um, rio is not needed: > > Robert@Babelfish2 /c/TEMP > $ echo 'x' > iDrum_prefix.h > > Robert@Babelfish2 /c/TEMP > $ cat iDrum_prefix.h > x > > Robert@Babelfish2 /c/TEMP > $ ruby -i.tmp -pe "gsub /x/, 'y'" iDrum_prefix.h > > Robert@Babelfish2 /c/TEMP > $ cat iDrum_prefix.h > y > > :-)) > > robert Uhm... ruby is not needed: sed -ie 's/x/y/g' iDrum_prefix.h But I suppose that Art Gillespie wanted to arrange things from a Ruby script, where he does other things as well... Happy New Year! -- Wybo