On Wed, 1 Nov 2006, Hirofumi Saito wrote: > On Tue, Oct 31, 2006 at 04:18:31PM +0500, Yakov Hrebtov wrote: > > Paul Smith wrote: > > >I am looking for an automatic way of transforming my text file into > > >another one with the format > > You may try this: > > cat ./test.txt | awk '{print $1" "$2; print $1" "$3; print $1" "$4}' | > > grep -v ' $' > > $ awk '{for(i=2;i<=NF;i++)printf $1"\t"$i"\n"}' test.txt > > That's all. > > or, try this. > > $ awk '{for(i=2;i<=NF;i++)print $1, $i}' test.txt > > I think awk is the best solution for this problem. Both of those (as well as Yakov Hrebtov's awk script) generate 1 E 1 E 1 E 2 C 2 D 2 3 2 B 2 E 2 D 4 C 4 E 4 D 5 D 5 E (notice the line reading '2 3') instead of what I believe to be the correct 1 E 1 E 1 E 2 C 2 D 3 B 3 E 3 D 4 C 4 E 4 D 5 D 5 E output. You both missed that there is a line with multiple different numbered entries embedded that have to be seperated from each other. -- Benjamin Franz "It is moronic to predict without first establishing an error rate for a prediction and keeping track of one’s past record of accuracy." -- Nassim Nicholas Taleb, Fooled By Randomness