![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Script extractie van de onjuiste gegevens uit tekstbestand | jermaine4ever | Programmeren en Shell Scripting | 6 | 03-16-2009 12:18 |
| Verkeerde login NOS? | Juterassee | SUN Solaris | 5 | 10-30-2008 11:08 |
| login onjuist | espace1000 | UNIX voor Dummies Questions & Answers | 2 | 08-22-2008 06:48 |
| Onjuiste aanmelding | sydney2008 | Red Hat | 6 | 08-22-2008 04:57 |
| Onjuiste directory naam | jand102821 | UNIX voor Dummies Questions & Answers | 1 | 06-19-2002 04:35 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Awk onjuiste gegevens.
Ik gebruik het volgende commando:
Code:
nawk -F"," 'NR==FNR {a[$2$3]=$1;next} a[$2$3] {print a[$2$3],$1,$2,$3}' file1 file2
Maar als ik invoer bestand1 en bestand2 in MS Access i get 140 records. En ik weet 140 is correct tellen. Stellen uw hulp bij het corrigeren van het bovenstaande script |
|
||||
|
Citaat:
Ik heb twee bestanden $ Hoofd bestand1 zip, Voornaam, Achternaam 07777, ABC, DEF 22584, dec, DLO 25487, xyz, JKL 25488, dim, kio $ Hoofd bestand2 Doel server database SSN, Voornaam, Achternaam 123456789, ABC, DEF 123456789, dec, DLO 123456789, xyz, JKL 123456789, dim, kio wilde Output: SSN, zip, Voornaam, Achternaam 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
Kunt u uitleggen dit deel ($ 2 SUBSEP $ 3) een [$ 2, $ 3], die wij gebruiken, hier omdat haar kommagescheiden invoerbestand is of is het de algemene regel Als i dont gebruiken, dan ook krijg ik hetzelfde resultaat |
|
|||||
|
Citaat:
Ook ik begrijp niet waarom u een volgnullen dubbele aanhalingstekens (in rood) in beide gevallen? Citaat:
Code:
a[$2,$3] De oorspronkelijk gestelde oplossing moet u het gewenste resultaat. Gezien bestand1: Code:
zip,FirstName,Lastname 07777,abc,def 22584,dec,dlo 25487,xyz,jkl 25488,dim,kio Code:
SSN,Firstname,LastName 123456789,abc,def 123456789,dec,dlo 123456789,xyz,jkl 123456789,dim,kio 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
Code:
123456789,07777,abc,def 123456789,22584,dec,dlo 123456789,25487,xyz,jkl 123456789,25488,dim,kio Ook dit is niet een van je eerste forum posten en je hebt gevraagd in het verleden: gelieve gebruik te maken van BB code tags bij het plaatsen van gegevens of codevoorbeelden. |
|
||||
|
Citaat:
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
Ik kan niet achteraf de bestanden als gevolg van gegevens gevoeligheid. Ik visuele controle van de bestanden, en ik zie geen speciale tekens of iets. Is er een speciaal commando om dit te controleren. Waarderen uw reactie. |
|
|||||
|
Citaat:
Dokter: Dan niet doen dat! De standpunten van de bestanden op de opdrachtregel is belangrijk voor het in kaart brengen van de velden van een bestand naar het andere. Kijk naar je bestanden 'velden - proberen om het verschil en kijkt naar de originele posting voor de mapping logica. Succes. |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|