![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Hvordan transpose data elementer i awk | ahjiefreak | Shell programmering og Skripting | 2 | 05-13-2008 05:44 |
| gi ut dataene i tabellen fra grep resultater | Chillspark | Shell programmering og Skripting | 2 | 05-12-2008 03:21 |
| Hjelp Sette inn data i mysql tabellen | vadharah | Shell programmering og Skripting | 11 | 03-30-2008 01:26 |
| Sammenligne data i filen med verdiene i tabellen | Mohit623 | Shell programmering og Skripting | 0 | 01-22-2008 08:57 |
| ccall database og samle inn data fra en tabell | rinku | Shell programmering og Skripting | 0 | 05-28-2007 02:16 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Hvordan transpose en tabell med data ved hjelp awk
Hei.
Jeg har disse dataene nedenfor: -- v1 28 14 1,72414 1,72414 1,72414 1,72414 1,72414 v2 77 7 7,47126 6,89655 6,89655 6,89655 6,89655 v3 156 3 21,2644 21,2644 20,6897 21,2644 20,6897 v4 39 3 1,72414 1,72414 1,72414 1,72414 1,72414 v5 155 1 21,2644 23,5632 24,1379 23,5632 24,1379 v6 62 2 2,87356 4,02299 4,02299 2,87356 4,02299 V7 152 4 20,6897 20,6897 20,6897 20,6897 20,6897 v8 154 1 22,4138 22,4138 22,4138 22,4138 22,4138 og jeg ønsket å transponere dem til å være: -- v1 v2 .......... v8 28 77 14 .7 1,72414 7,47126 1,72414 6,89655 1,72414 6,89655 1,72414 6,89655 Vennligst informer. Takk |
|
||||
|
Hentet fra GNU Awk handbook:
( if (max_nf <NF) max_nf \u003d NF max_nr \u003d NR for (x \u003d 1; x <\u003d NF; x + +) vektoren [x, NR] \u003d $ x ) END ( for (x \u003d 1; x <\u003d max_nf; x + +) ( for (y \u003d max_nr; y> \u003d 1; - y) printf ( "% s", vektoren [x, y]) printf ( "\ n") ) ) Kopier den til en fil, så påberope seg det slik: awk-f Skriptfila datafile | awk '(print $ 8 "\ t" $ 7 "\ t" $ 6 "\ t" $ 5 "\ t" $ 4 "\ t" $ 3 "\ t" $ 2 "\ t" $ 1 "\ t" ) |
|
||||
|
En perl skriften å transponere en Metrix, håper det kan løse problemet.
Code:
$file=shift;
open(FH,"<$file") or die "can not open file";
while(<FH>){
$_=~ tr/\n//d;
@arr=split(",",$_);
$col=$#arr;
for($i=0;$i<=$#arr;$i++){
$index=sprintf("%s%s",$.,$i);
$hash{$index}=$arr[$i];
}
$row=$.;
}
close(FH);
for($a=0;$a<=$col;$a++){
for($b=1;$b<=$row;$b++){
$t=sprintf("%s%s",$b,$a);
print $hash{$t},",";
}
print "\n";
}
|
![]() |
| Hugseliste |
| Tags |
| matrix, perl, perl skiftarbeid, skifte, shift perl, transpose |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|