The only way that I would know of to accomplish something like that would be to move/change the file header on disk to reflect the new state of the file. It would mark the bits representing the first 10 lines as free space.
I am not aware of a utility that does this, but if you were to do this operation several times a second, the time involved in writing, testing, and debugging a low level utility might be worth it. Jeff Anderson Jon Gale wrote: > PLUGers, > > What would be the most efficient way to remove x number of lines from a very > large (many gigabyte) file? > > Preliminary tests show that sed is not a good option: > > [EMAIL PROTECTED] root]# time sed -i -e '1,4d' test2.txt > > real 0m0.016s > user 0m0.000s > sys 0m0.010s > [EMAIL PROTECTED] root]# time sed -i -e '1,4d' test.txt > > real 1m13.596s > user 0m18.020s > sys 0m52.930s > > test2.txt is only 100 lines. test.txt is 10,000,000 lines. > > Is there a better way to do this that won't necessitate scanning the entire > file just to remove the first x number of lines? > > Thanks, > > Jon > >
signature.asc
Description: OpenPGP digital signature
/* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
