![]() |
|
|
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 |
| Script utpakking av feil data fra tekstfil | jermaine4ever | Shell programmering og Skripting | 6 | 03-16-2009 12:18 |
| Feil login NIS? | Juterassee | Sun Solaris | 5 | 10-30-2008 11:08 |
| login feil | espace1000 | UNIX for Dummies Spørsmål og svar | 2 | 08-22-2008 07:48 |
| Login Incorrect | sydney2008 | Red Hat | 6 | 08-22-2008 05:57 |
| Feil katalognavn | jand102821 | UNIX for Dummies Spørsmål og svar | 1 | 06-19-2002 05:35 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Awk feil data.
Jeg bruker følgende kommando: Code:
nawk -F"," 'NR==FNR {a[$2$3]=$1;next} a[$2$3] {print a[$2$3],$1,$2,$3}' file1 file2
Jeg får 40 poster utgang. Men når jeg importerer file1 og file2 i MS Access jeg får 140 poster. Og jeg vet at 140 er riktig antall. Setter pris på din hjelp til å korrigere ovennevnte script |
|
||||
|
Sitat:
Jeg har to filer $ Head file1 zip, Fornavn, Etternavn 07.777, abc, def 22.584, dec, DLO 25.487, xyz, jkl 25.488, svak, kio $ Head file2 Målet server database SSN, Fornavn, Etternavn 123456789, abc, def 123456789, dec, DLO 123456789, xyz, jkl 123456789, svak, kio ville Output: SSN, zip, Fornavn, Etternavn Code:
nawk -F"," 'NR==FNR {a[$2,$3]=$1;next} ($2 SUBSEP $3) in a {print a[$2,$3],$1,$2,$3}' OFS=, " file2 file1
40 Matches
Code:
nawk -F"," 'NR==FNR {a[$2,$3]=$1;next} ($2 SUBSEP $3) in a {print a[$2,$3],$1,$2,$3}' OFS=, " file1 file2
140 matches
140 kamper er riktig jeg vet men begge bør gi 140 jeg dont vite hvorfor de gir forskjell. Kan du vennligst forklare denne delen ($ 2 SUBSEP $ 3) a [$ 2, $ 3] vi bruker, her fordi de er kommadelte inndatafil eller er den generelle regelen Hvis jeg ikke bruker, så også jeg får samme resultat |
|
|||||
|
Sitat:
Også jeg forstår ikke hvorfor du har en etterfølgende dobbelt anførselstegn (i rødt) i begge tilfelle? Sitat:
Code:
a[$2,$3] I forbindelse med array-indeksen bygningen, det "," er erstattet av awk interne variable SUBSEP. Hvis senere du bestemmer deg for å "splitte" indeksen (for å finne det deler) kan du dele av SUBSEP. Hvis du bare sammen strengen, kan du ikke rekonstruere indeksen til sin opprinnelige deler. Opprinnelig postet skal gi ønsket resultat. Gitt file1: Code:
zip,FirstName,Lastname 07777,abc,def 22584,dec,dlo 25487,xyz,jkl 25488,dim,kio og file2: Code:
SSN,Firstname,LastName 123456789,abc,def 123456789,dec,dlo 123456789,xyz,jkl 123456789,dim,kio kjører: Code:
nawk -F, 'NR==FNR {a[$2,$3]=$1;next} ($2 SUBSEP $3) in a {print a[$2,$3],$1,$2,$3}' OFS=, file2 file1
Resultater i: Code:
123456789,07777,abc,def 123456789,22584,dec,dlo 123456789,25487,xyz,jkl 123456789,25488,dim,kio Sjekk file1 og file2 - se om det er noen avvik og / eller innebygde mellomrom. Også, dette er ikke en av de første forum innlegg og du har blitt bedt om i det siste: vennligst bruk BB Code-koder når du legger data eller kodeeksempler. |
|
||||
|
Sitat:
Code:
nawk -F"," 'NR==FNR {a[$2,$3]=$1;next} ($2 SUBSEP $3) in a {print a[$2,$3],$1,$2,$3}' OFS=, file1 file2
I de ovennevnte koden hvis jeg slår file1 og fie2 posisjon så jeg får forskjellige resultater. Jeg kan ikke legge inn filer på grunn data følsomhet. Jeg visuelt kontrollert filer og jeg ser ingen spesielle tegn eller noe. Er det en spesiell kommando for å bekrefte dette. Takker for svar. |
|
|||||
|
Sitat:
Legen: Så ikke gjør det! Stillingene av filene på kommandolinjen er viktig for kartlegging av felt fra en fil til den andre. Se på datafilene "felt - prøver å se forskjellen, og se på det opprinnelige oppslaget for kartlegging logikk. Lykke til. |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|