![]() |
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.
|
|
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 |
| Å skjære hel kolonne fra en fil og apend det til en annen fil som en annen kolonne | sakthifire | Shell programmering og Skripting | 4 | 06-25-2008 05:27 |
| Flat fil | Krishnaramjis | Shell programmering og Skripting | 9 | 05-08-2008 11:28 |
| Slik kontrollerer Null verdier i en fil kolonne etter kolonne hvis kolonnene er ikke NULLs | Mandab | Shell programmering og Skripting | 7 | 03-15-2008 09:57 |
| XML til flat fil | balireddy_77 | Shell programmering og Skripting | 2 | 04-13-2007 06:57 |
| Kolonne navnene i flate filer | srivsn | Shell programmering og Skripting | 1 | 12-27-2005 06:47 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
|||||
|
Dhruv,
Her er problemet igjen .. Jeg har har et fast blikk opp filen med kolonne i fast rekkefølge si .. "Mandt Serail SERSCHA SEREX EQTYP BSTVP" Jeg har lagret denne sekvensen i en variabel .. Nå Jeg får datafilen som kolonnen sekvens kunne avviker fra det jeg har nevnt i blikk opp strengen. Jeg vil resuffle denne datafilen henhold til kolonnen sekvens av look_up strengen. datafil kolonnen sekvens kunne case -1 sekvens ---------- SERSCHA SEREX EQTYP BSTVP Mandt Serail 333 4343 fdfd fdfdf dssds fdfdf 343 343 rere 43 FDF 4343 case -2 rekkefølge: ------------------- SEREX EQTYP BSTVP Mandt Serail SERSCHA 121 3232 323 ddd sd 223 se sekvensen av disse filen hver gang sekvens av kolonnen varierer. den endelige reaange av disse filen bør være basert på en kolonne utseendet opp [string alltid. Ok 1 Nå vil jeg resuffle denne datafilen slik at kolonnen som starter med Mandt bør komme først så Serail ... så SERSCHA SEREX EQTYP og den endelige resuffle dataene skal føye til et filnavn si final_data.txt |
|
||||
|
Code:
awk -v str="MANDT SERAIL SERSCHA SEREX EQTYP BSTVP" '
NR == 1 {
n=split( str , arr , " " )
for( i = 1; i <= n ; ++i )
arr_ac[$i]=i
for( i = 1; i <= n ; ++i )
col[i]=arr_ac[arr[i]]
print str
}
NR > 1 {
for(i = 1; i <= n ; ++i )
printf("%s ",$col[i])
printf("\n")
}
' file >> final_data.txt
|
|
|||||
|
sjekk dette innlegget
omorganisere fil basert på oppslaget fil |
|
||||
|
her er et alternativ i Python:
Code:
def transpose(matrix):
return [[matrix[y][x] for y in range(len(matrix))]for x in range(len(matrix[0]))]
all = open("input.txt").readlines()
lookupstring = ['MANDT', 'SERSCHA','SERAIL' , 'SEREX', 'EQTYP', 'BSTVP']
listing = [ i.split() for i in all ]
results = transpose(listing)
final= [ r for items in lookupstring for r in results if items == r[0] ]
for i in transpose(final):
print ','.join(i)
Code:
MANDT SERAIL EQTYP SERSCHA SEREX BSTVP 510 hsgdfs 44 sercha sex1 bst233 510 bg 89 fg 23 98 510 gh 89 we sew mn Code:
/home>python test.py MANDT,SERSCHA,SERAIL,SEREX,EQTYP,BSTVP 510,sercha,hsgdfs,sex1,44,bst233 510,fg,bg,23,89,98 510,we,gh,sew,89,mn |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|