Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!uakari.primate.wisc.edu!aplcen!haven!adm!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: comp.unix.questions Subject: Re: edit first line of long file Message-ID: <4597:Oct2321:44:2190@kramden.acf.nyu.edu> Date: 23 Oct 90 21:44:21 GMT References: <27338@shamash.cdc.com> <568@inews.intel.com> Organization: IR Lines: 28 In article <568@inews.intel.com> bhoughto@cmdnfs.intel.com (Blair P. Houghton) writes: > In article <27338@shamash.cdc.com> ddh@dash@udev.cdc.com (Dan Horsfall) writes: > >Plan A: pass the whole file thru sed, qualifing the search string > >as "1s/.../.../"; sed will look at each line of the file. > sed is the way. No, it's not. Try head -1 | sed 's/.../.../'; cat. > Anything else > would involve multiple exec's and pipes and several context > switches for each character of data, and then you get > process and I/O collisions. Hyperbole. No sane program does several context switches for each character of data, and ``process and I/O collisions'' don't exist. sed does much more processing on each character than cat does. On this machine, sed is more than 12 times slower than cat. > I'll predict nothing (except > perhaps awk or certainly perl or C) would be faster than > the sed line, and by posting to the net you've just cost > yourself and the world more time, bytes, and money than any > of these choices could possibly be worth. Your prediction is wrong, and it's the hope of everyone who participates in technical discussions that information received is worth money spent. ---Dan