file_pharse

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
micha0815
Beiträge: 20
Registriert: 27.05.2008 19:59:59

file_pharse

Beitrag von micha0815 » 01.08.2010 12:25:28

Hi!

ich hab ein file der folgenden form:

Species Match Best Location Sequence Length # of Locations
MA0145.1-Tcfcp2l1-1 9 112, 132, 151, 158 203 4
MA0145.1-Tcfcp2l1-2 11 76 201 1
MA0145.1-Tcfcp2l1-3 10 86, 96 203 2
MA0145.1-Tcfcp2l1-4 11 104, 114 202 2
MA0145.1-Tcfcp2l1-5 10 98 201 1
MA0145.1-Tcfcp2l1-6 9 151 201 1
MA0145.1-Tcfcp2l1-7 10 11, 109, 124 201 3
MA0145.1-Tcfcp2l1-8 9 84 204 1
MA0145.1-Tcfcp2l1-9 11 73 203 1
MA0145.1-Tcfcp2l1-10 9 78, 115, 125, 149 202 4
MA0145.1-Tcfcp2l1-11 12 102, 112 208 2
MA0145.1-Tcfcp2l1-12 12 106 201 1
MA0145.1-Tcfcp2l1-13 10 41 202 1
MA0145.1-Tcfcp2l1-14 10 88, 170 202 2
MA0145.1-Tcfcp2l1-15 9 38, 68, 93 201 3
MA0145.1-Tcfcp2l1-16 10 77, 77, 164 204 3
MA0145.1-Tcfcp2l1-17 9 126 201 1
...

was ich gern haette...
waere ein file mit nur 2 spalten...
erste spalte die sequenz nummer... (sed s/MA0145.1-Tcfcp2l1-//g)
aber... und hier kommt mein problem...
von der dritten spalte (die zweite interessiert mich nicht...) brauch ich
die einzelnen zahlen (die anzahl ist variabel...) und zwar jede in einer einzelnen zeile...
also um die verwirrung mal etwas zu beseitigen...
die erste zeile
MA0145.1-Tcfcp2l1-1 9 112, 132, 151, 158 203 4
wuerde nach meinen wunschvorgaben am ende so aussehen:
1 112
1 132
1 151
1 158
hat jemand eine idee wie ich variabel viele zahlen einer spalte in reihen umordnen kann?

vielen dank!

micha0815
Beiträge: 20
Registriert: 27.05.2008 19:59:59

Re: file_pharse

Beitrag von micha0815 » 01.08.2010 12:41:31

cat file | grep MA0145.1 | sed s/,//g | sed s/MA0145.1-Tcfcp2l1-//g | awk '{for (i=3; i<= NF - 2; i++) printf "%i %i\n", $1 - 1, $i}' > out
:D

Antworten