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