The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Sådan klippes hel kolonne fra en fil og apend den til en anden fil som en anden kolonne sakthifire Shell Programmering og Scripting 4 06-25-2008 05:27 AM
Flade fil Krishnaramjis Shell Programmering og Scripting 9 05-08-2008 11:28 PM
Sådan kontrolleres Null-værdier i en fil kolonne efter kolonne, hvis kolonnerne er ikke NULLs Mandab Shell Programmering og Scripting 7 03-15-2008 09:57 AM
XML til flade fil balireddy_77 Shell Programmering og Scripting 2 04-13-2007 06:57 AM
Kolonne navne i flade filer srivsn Shell Programmering og Scripting 1 12-27-2005 06:47 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 09-15-2006
jambesh's Avatar
jambesh jambesh is offline
Registreret Bruger
  
 

Join Date: Aug 2006
Beliggenhed: Pune, Indien
Stillinger: 137
Slå op kolonne i en flad fil

Her er mere om Go! Brug for en genvej til mit problem!

Problemet er jeg har en look_update med fast sekvens af kolonne
, som er:

MANDT: Serail: SERSCHA: SEREX: EQTYP: BSTVP
Jeg vil være at få data i en flad fil med samme antal kolonne, men sekvensen kunne være anderledes i hver gang

for eksempel
Serail MANDT SERSCHA SEREX EQTYP BSTVP
510 1 f g sr
510 2 g S t
510 3 g S 2
510 4 g S 2
510 Z001 g S
510 Z004 f gr. S 2
510 ZPM1 f er M 1
510 ZPM2 76 M 1

her rækkefølgen af kolonnen er ikke, hvad det i ser op streng
Det bør i den rækkefølge, se op streng.
Jeg ønsker at arrangere dataene i denne tabel i se op sekvens og sætte det ind i en anden filnal_data fil

hver gang clientdata kan komme i differnt sekvens, men jeg har arrangere den kolonne i den rækkefølge, lookup_string og tilføj den til finalebordet

Hope u alle fik mit problem! Venligst hjælp
  #2 (permalink)  
Old 09-15-2006
Dhruva's Avatar
Dhruva Dhruva is offline
Registreret Bruger
  
 

Join Date: Mar 2006
Beliggenhed: Indien
Stillinger: 255
jambesh kan du forklare igen og klart, som vil hjælpe os til at forstå, og du vil få mere præcist svar
  #3 (permalink)  
Old 09-15-2006
jambesh's Avatar
jambesh jambesh is offline
Registreret Bruger
  
 

Join Date: Aug 2006
Beliggenhed: Pune, Indien
Stillinger: 137
Dhruv,
Her er problemet igen ..
Jeg har en fast kigge op fil, hvis kolonnen er i fast sekvens sige ..
"MANDT Serail SERSCHA SEREX EQTYP BSTVP"
Jeg har gemt denne sekvens i en variabel ..
Nu

Jeg får datafil, hvis kolonnen sekvens kunne differnt fra, at jeg har nævnt i se op strengen.

Jeg vil gerne resuffle denne datafil i henhold til kolonne sekvens af look_up strengen.

datafil kolonne sekvens kunne

tilfælde -1 sekvens
----------

SERSCHA SEREX EQTYP BSTVP MANDT Serail
333 4343 fdfd fdfdf dssds fdfdf
343 343 Rere 43 FDF 4.343

tilfælde -2 sekvens:
-------------------
SEREX EQTYP BSTVP MANDT Serail SERSCHA
121 3232 323 ddd sd 223


se rækkefølgen af disse fil hver gang sekvens af kolonne varierer.
den endelige reaange af disse fil skal være baseret på kolonnen for de ser op [streng altid.



Ok
1

Nu vil jeg resuffle denne datafil, således at kolonnen begynder med

MANDT bør komme først derefter Serail ... så SERSCHA SEREX EQTYP

og den endelige resuffle data skal vedlægge et filnavn sige final_data.txt
  #4 (permalink)  
Old 09-15-2006
anbu23 anbu23 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Mar 2006
Beliggenhed: Bangalore, Indien
Indlæg: 1.398
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
  #5 (permalink)  
Old 09-18-2006
Dhruva's Avatar
Dhruva Dhruva is offline
Registreret Bruger
  
 

Join Date: Mar 2006
Beliggenhed: Indien
Stillinger: 255
kontrollere dette indlæg
omarrangere fil baseret på opslag fil
  #6 (permalink)  
Old 09-18-2006
ghostdog74 ghostdog74 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Sep 2006
Indlæg: 2.538
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)
Input:
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
Output:
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
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 03:37 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0