Remove x number of lines from beginning of file
Shane Hathaway
shane at hathawaymix.org
Thu Oct 25 16:54:22 MDT 2007
Shane Hathaway wrote:
> Jon Gale wrote:
>> [root at linuxboy 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?
>
> The majority of that time is spent in I/O, not computation. The best
> way to accomplish this would be to write the output to a different hard
> drive with similar specs, enabling you to use the combined throughput of
> both drives.
Of course that's assuming you don't want to use lower-level hacks.
Nicholas suggested a loopback device, which is interesting. A FUSE
filesystem could do a similar trick, with more flexibility but probably
lower performance.
Shane
More information about the PLUG
mailing list