Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Ruby (http://www.velocityreviews.com/forums/f66-ruby.html)
-   -   Identify IP address from a text file and replace it with new address. (http://www.velocityreviews.com/forums/t865171-identify-ip-address-from-a-text-file-and-replace-it-with-new-address.html)

Chandu80 11-08-2010 12:16 PM

Identify IP address from a text file and replace it with new address.
 
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

Alexey Bovanenko 11-08-2010 12:48 PM

Re: Identify IP address from a text file and replace it with new address.
 
[Note: parts of this message were removed to make it a legal post.]

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

On Mon, Nov 8, 2010 at 3:20 PM, Chandu80 <chandu.shenoy@gmail.com> wrote:

> 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
>
>



--
With regards,
Alexei Bovanenko


zuerrong 11-08-2010 01:38 PM

Re: Identify IP address from a text file and replace it with new address.
 
2010/11/8 Chandu80 <chandu.shenoy@gmail.com>:
> 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=3D"ip addr:12.34.56.78"
=3D> "ip addr:12.34.56.78"

irb(main):002:0> s.scan /\d+\.\d+\.\d+\.\d+/
=3D> ["12.34.56.78"]


--=20
Kind regards,
=C2=A0 =C2=A0 =C2=A0Zuer (=E7=A5=96=E5=84=BF)


Chandu80 11-09-2010 07:07 AM

Re: Identify IP address from a text file and replace it with new address.
 
On Nov 8, 5:48*pm, Alexey Bovanenko <a.bovane...@gmail.com> wrote:
> [Note: *parts of this message were removed to make it a legal post.]
>
> 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
>
>
>
> On Mon, Nov 8, 2010 at 3:20 PM, Chandu80 <chandu.she...@gmail.com> wrote:
> > 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

>
> --
> 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

Robert Klemme 11-09-2010 07:16 AM

Re: Identify IP address from a text file and replace it with newaddress.
 
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


All times are GMT. The time now is 09:31 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.