Hello All,
I want to write a script by which I can open up a text file,scan
through it,find the line which contains the word ‘test_site’,get the
IP address corresponding to that word, replace that IP with another IP
address and then save and close the file.
Are there any commands in Ruby to identify IP address from a string?
Thanks in advance
Regards
Chandrika
Hi!
I think you can use the following code:
text=IO.read(filename_of_file_with_ip)
text.gsub!(/test_site\s*\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}/i,“0.0.0.0”)
0.0.0.0 - it’s my new ip
f=File.new(“outtxt”,“w”)
f.write(text)
f.close
2010/11/8 Chandu80 [email protected]:
Hello All,
I want to write a script by which I can open up a text file,scan
through it,find the line which contains the word ‘test_site’,get the
IP address corresponding to that word, replace that IP with another IP
address and then save and close the file.
Are there any commands in Ruby to identify IP address from a string?
maybe a regex is useful, though that’s not rigorous enough.
irb(main):001:0> s=“ip addr:12.34.56.78”
=> “ip addr:12.34.56.78”
irb(main):002:0> s.scan /\d+.\d+.\d+.\d+/
=> [“12.34.56.78”]
On 11/09/2010 08:07 AM, Chandu80 wrote:
Thanks for the response.It did work.However isn’t there a provision to
edit the same file and save it?
ruby -p -i.bak -e ‘gsub /\d{1,3}(?:.\d{1,3}){3}/, “XX.XX.XX.XX”’ a_file
If you omit “.bak” there is no backup. Please see “ruby -h”.
Kind regards
robert
On Nov 8, 5:48pm, Alexey B. [email protected] wrote:
f.write(text)
Are there any commands in Ruby to identify IP address from a string?
Thanks in advance
Regards
Chandrika
–
With regards,
Alexei Bovanenko
Hi,
Thanks for the response.It did work.However isn’t there a provision to
edit the same file and save it?
Regards
Chandrika