[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

How to open Text File and then insert line in first position?

Pablo Q.

8/26/2008 2:12:00 PM

[Note: parts of this message were removed to make it a legal post.]

Hi,

I need to add a header to files, but I didn't find how open files in append
mode ('a') but positioned in first position.
Does anyone know how to do that?

Thanks


--
Pablo Q.

3 Answers

Daniel Bush

8/26/2008 3:23:00 PM

0

Pablo Q. wrote:
> Hi,
>
> I need to add a header to files, but I didn't find how open files in
> append
> mode ('a') but positioned in first position.
> Does anyone know how to do that?
>
> Thanks

I would write the headers to a new file and then the content.
Then move the file over to the old file.

Easier to do it in shell (linux/mac/unix)
echo $header > tmpfile
cat oldfile >> tmpfile
mv tmpfile oldfile

If you need to do it in ruby see http://www.ruby-...to...
for related discussion. Last post (at this time) by Erik has the sort
of code you need - just need to modify it a little.

There is this 'r+' mode which allows you to write to other parts of the
file besides appending but I don't think it's going to help. Someone
might want to pick me up on that.

Regards,
Daniel
--
Posted via http://www.ruby-....

Craig

8/26/2008 3:39:00 PM

0

On Aug 26, 8:11 am, "Pablo Q." <paqs140...@gmail.com> wrote:
> [Note:  parts of this message were removed to make it a legal post.]
>
> Hi,
>
> I need to add a header to files, but I didn't find how open files in append
> mode ('a') but positioned in first position.
> Does anyone know how to do that?
>
> Thanks
>
> --
> Pablo Q.

Try this:

file_to_read = '/path/to/file.txt'
header = "Text to put at top of file\n\n"
file = IO.read(file_to_read)
open(file_to_read, 'w') { |f| f << header << file}

Cheers,

Craig

Pablo Q.

8/26/2008 3:41:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

Thanks to both,

This is what I was looking for.

2008/8/26 Craig <cwilliams@easynewsletters.net>

> On Aug 26, 8:11 am, "Pablo Q." <paqs140...@gmail.com> wrote:
> > [Note: parts of this message were removed to make it a legal post.]
> >
> > Hi,
> >
> > I need to add a header to files, but I didn't find how open files in
> append
> > mode ('a') but positioned in first position.
> > Does anyone know how to do that?
> >
> > Thanks
> >
> > --
> > Pablo Q.
>
> Try this:
>
> file_to_read = '/path/to/file.txt'
> header = "Text to put at top of file\n\n"
> file = IO.read(file_to_read)
> open(file_to_read, 'w') { |f| f << header << file}
>
> Cheers,
>
> Craig
>
>


--
Pablo Q.