On Wed, Dec 05, 2007 at 04:31:55PM +0100, Kjeldgaard Morten wrote: 1. perl's startup costs compared to awk isn't that high, unless you require a whole slew of modules... . In addition, you should prefer whatever's more likely to have been recently used, as that's what already is paged in. If dpkg.* avoids .*awk and sed, but uses perl throughout, perl's suddenly VERY cheap.
2. > board. Then I came up with another suggestion: > > sed 's/.*(//; s/-.*//;q' < changelog > > Let's examine the regexp again. It is a series of "substitute" > statements, separated by semicolons. These are executed on every line > in the file. The first deletes everything up to, and including, the > first '('. The next deletes from the dash to end-of-line. The third > statement quits the program after the first line. > > But persia was still not happy. He was using his MOTU powers, driving > me forward, at every step, for perfection! I started to look at > persia's oneliner again, and finally got it twisted so it worked for me: > > sed 's/.*(\(.*\)-.*).*/\1/;q' < changelog > > Let's analyse the regexp again. We are using "grouping" again, but > unlike awk (unfortunately) sed has a reversed interpretation of > parentheses. In sed, they have to be escaped to signify a grouping. > Inside the first pair of /'s is the regexp that recognized the whole > first line. There is a grouping around the characters between the '(' > and the '-' in that line, in other words, the version. The sed > statement thus a substitution, where the whole line is replaced by > grouping 1, which is referenced as an escaped nr. 1. Voila! you DID notice that the semantics of the 2 sed statements have a very significant difference for some nice version strings. Plus nice failures. Such as base-files 4.0.0ubuntu5 a2ps 1:4.13c~rc5-1 [hmmm. maintainer suffers from bit-rot?] apache2-mpm-itk 2.2.3-04-3build4 automake 1:1.10+nogfdl-1 autotools-dev 20070306.1 hmmm. Maybe enforcing the use of a single centrally maintained perl ain't that bad... -- cu Peter [EMAIL PROTECTED] -- Ubuntu-motu mailing list Ubuntu-motu@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-motu