Assigning a specific format to a specific column in a text file using awk and printf

Hi,

I have the following text file:

8 T1mapping_flip02 ok 128 108 30 1 665000-000008-000001.dcm
9 T1mapping_flip05 ok 128 108 30 1 665000-000009-000001.dcm
10 T1mapping_flip10 ok 128 108 30 1 665000-000010-000001.dcm
11 T1mapping_flip15 ok 128 108 30 1 665000-000011-000001.dcm
12 T1mapping_flip30 ok 128 108 30 1 665000-000012-000001.dcm
15 T1mapping_flip02 ok 128 108 30 1 665000-000015-000001.dcm
16 T1mapping_flip05 ok 128 108 30 1 665000-000016-000001.dcm
17 T1mapping_flip10 ok 128 108 30 1 665000-000017-000001.dcm
18 T1mapping_flip15 ok 128 108 30 1 665000-000018-000001.dcm
19 T1mapping_flip30 ok 128 108 30 1 665000-000019-000001.dcm

Using the following code, I've managed to get this far:

while read line ; 
do echo $line | awk '{print $2 "/" $1 "/" $8}' ; 
done < file

...to produce this output:

T1mapping_flip02/8/665000-000008-000001.dcm
T1mapping_flip05/9/665000-000009-000001.dcm
T1mapping_flip10/10/665000-000010-000001.dcm
T1mapping_flip15/11/665000-000011-000001.dcm
T1mapping_flip30/12/665000-000012-000001.dcm
T1mapping_flip02/15/665000-000015-000001.dcm
T1mapping_flip05/16/665000-000016-000001.dcm
T1mapping_flip10/17/665000-000017-000001.dcm
T1mapping_flip15/18/665000-000018-000001.dcm
T1mapping_flip30/19/665000-000019-000001.dcm

The problem is, I would like the middle number (field #3) to be a 3-digit number, e.g. 008, 009, 010...019.

I've tried this:

while read line ; 
do echo $line | awk '{print $2 "/" {printf "%03d\n" $1} "/" $8}' ; 
done < file

...but obviously I don't know what I'm doing because I get a big ugly syntax error.

Any help would be greatly appreciated as always.
Thanks!

awk '{printf "%s/%03d/%s\n",$2,$1,$8 } ' file

That was a perfect solution. Thanks!