If he wanted to lop off the first xxx bytes, without "touching" the remainder 
of the file... then it's IMPOSSIBLE under linux/unix. 

You mention flat-file-database... it's that's the case, I hope he can stop 
updates while removing the first 300 lines... else, the problem is just a bit 
harder (in fact, it can become impossible if his data base engine does not use 
some form of file locking.)
 - jim

On Wed, 28 Jun 2006 17:50:14 -0700 (PDT)
Sebastian Smith <[EMAIL PROTECTED]> wrote:

> I think what Grant meant by "in place" was that he didn't want to read the 
> entire file, just lop off the first 300 lines -- perhaps he can correct 
> me.  I'm guessing storage space isn't an issue.  Regardless, I don't know 
> of a way to do that.
> 
> You really need to get away from those flat file databases Grant ;)
> 
> 
> On Wed, 28 Jun 2006, James Washer wrote:
> 
> > it's the "working in place" that makes this difficult, else there are 
> > countless ways to do this, including the simple perl
> >
> >     perl -ne 'next unless $. >300;print'
> >
> > On Wed, 28 Jun 2006 17:26:47 -0700
> > "Brandon Mitchell" <[EMAIL PROTECTED]> wrote:
> >
> >> This is an interesting problem, and seems to be revealing a little bit
> >> about what type of user/admin is in each of us.
> >>
> >> So where's Nick with an Emacs Lisp macro for this task? :P
> >>
> >> On 6/28/06, Anna <[EMAIL PROTECTED]> wrote:
> >>> find out which byte terminates the first 300 lines.  maybe...
> >>>
> >>> ~$ BYTES=$(head -300 nameofbigfile.txt | wc -c)
> >>>
> >>> then use that info with dd skip the first part of the input file...
> >>>
> >>> ~$ dd if=nameofbigfile.txt of=truncatedversion.pl ibs=$BYTES  skip=1
> >>>
> >>> one of many ways, I'm sure.  I think this way should be pretty fast
> >>> because it works on a line by line basis for just a small part of the
> >>> file.  The rest, with dd, is done in larger pieces.
> >>>
> >>> - Anna
> >>>
> >>>
> >>> On Wed, Jun 28, 2006 at 01:01:03PM -0700, Grant Kelly wrote:
> >>>> Alright unix fans, who can answer this the best?
> >>>>
> >>>> I have a text file, it's about 2.3 GB. I need to delete the first 300
> >>>> lines, and I don't want to have to load the entire thing into an
> >>>> editor.
> >>>>
> >>>> I'm trying `sed '1,300d' inputfile > output file`  but it's taking a
> >>>> long time (and space) to output everything to the new file.
> >>>>
> >>>> There has got to be a better way, a way that can do this in-place...
> >>>>
> >>>>
> >>>> Grant
> >>>>
> >>>> _______________________________________________
> >>>> RLUG mailing list
> >>>> [email protected]
> >>>> http://lists.rlug.org/mailman/listinfo/rlug
> >>>
> >>> _______________________________________________
> >>> RLUG mailing list
> >>> [email protected]
> >>> http://lists.rlug.org/mailman/listinfo/rlug
> >>>
> >>
> >>
> >> --
> >> If UNIX doesn't have the solution you have the wrong problem.
> >> UNIX is simple, but it takes a genius to understand it's simplicity.
> >>
> >> _______________________________________________
> >> RLUG mailing list
> >> [email protected]
> >> http://lists.rlug.org/mailman/listinfo/rlug
> >>
> >
> > _______________________________________________
> > RLUG mailing list
> > [email protected]
> > http://lists.rlug.org/mailman/listinfo/rlug
> >
> 
> _______________________________________________
> RLUG mailing list
> [email protected]
> http://lists.rlug.org/mailman/listinfo/rlug
> 

_______________________________________________
RLUG mailing list
[email protected]
http://lists.rlug.org/mailman/listinfo/rlug

Reply via email to