Let's say I have a file that looks something like this:23: a, b, c, d24: b, d, f25: c, gand I want to get output like this:23.a23.b23.c23.d24.b24.d24.f25.c25.gOf course it's not too hard to just bang something out, but I was wondering if there was a slick one-liner using something like awk.  
Slick one-liner to convert a list like 1: 2, 3, 4, 5 to 1.2, 1.3, 1.4, 1.5
shell script;text processing;awk
Maybe something like:sed 's/: /./;s/\(\([^.]*\.\)[^,]*\), /\1\\2/;P;D'That's two lines (\<LF> can be replaced with \n with some sed implementations).The D command is one way to implement while loops in sed. It removes the first line of the pattern space and as long as there's something remaining in the pattern space starts all over again with what's left. So the above can be read as:do {  - change :  to . so we start with 23.a, b, c  - change 23.x, y, z to 23.x\n23.y, z  - print the first line (23.x): P  - remove it} while (pattern space is not empty)We don't need the first s command to be part of the loop, but to avoid that, we'd need to use a more verbose type of loop like using labels (:) and branching commands (b, t).