![]() |
|
|
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 |
| Hoe verwijder dubbele records met de soort | svenkatareddy | Programmeren en Shell Scripting | 19 | 06-11-2008 03:10 PM |
| Hoe verwijder dubbele records met de soort | svenkatareddy | SUN Solaris | 2 | 02-28-2008 08:38 |
| Dubbele records uit orakel aan tekstbestand. | shilendrajadon | UNIX for Advanced & Expert Gebruikers | 1 | 01-10-2008 11:21 |
| Dubbele records verwijderen uit een tilde bestand | irshadm | Programmeren en Shell Scripting | 5 | 12-06-2007 05:36 |
| Verwijder Dubbele lijnen uit bestand | Nysif Steve | UNIX voor Dummies Questions & Answers | 18 | 09-09-2007 09:57 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Verwijder alle exemplaren van dubbele records uit het bestand
Hallo deskundigen,
Ik ben nieuw voor scripts. Ik heb een eis zoals hieronder. Bestand1: A | 123 | NAAM1 A | 123 | NAAM2 B | 123 | NAME3 Bestand2: C | 123 | NAME4 C | 123 | NAME5 D | 123 | NAME6 1) Ik heb 2 samenvoegen zowel de bestanden. 2) hoeft te doen, een soort (sleutel velden zijn eerste en tweede veld) 3) Verwijder alle gevallen van dubbele records uit de samengevoegde bestand en schrijf schrijf al deze dubbele gevallen in een dossier. 4) rest van de records die uniek zijn in de originele bron-bestanden, moet worden geschreven in een ander bestand outfiles: bestand3: A | 123 | NAAM1 A | 123 | NAAM2 C | 123 | NAME4 C | 123 | NAME5 File4: B | 123 | NAME3 D | 123 | NAME6 Please help me met de oplossing zoals ik ben echt dringend. Appreciate your help. Bedankt |
|
||||
|
Citaat:
Dus als alle gegevens zijn uniek alle records zou naar File4 .. Is n't it? Leg duidelijker, zodat u ll krijgt een snel antwoord van dit forum. Geloof me hier in dit forum werkelijk briljant en experts hier om u te helpen op elk moment .. uitzondering van me .. ![]() Sante user_prady |
|
|||||
|
Een ander soort / Awk oplossing
(indien uw bestanden niet al gesorteerd als de monsters die je posted): Code:
sort -t\| -k1,2 file1 file2|awk '{
x[$1,$2]++
y[NR] = $0
} END {
for (i = 1; i <= NR; i++)
print y[i] > ((x[substr(y[i],1,5)] > 1) ? "file3" : "file4")
}' SUBSEP="|" FS="|"
PS Voor de variabele kolom breedte: je niet moet gebruiken substr, maar split bijvoorbeeld: Code:
sort -t\| -k1,2 file1 file2|awk '{
x[$1,$2]++
y[NR] = $0
} END {
for (i = 1; i <= NR; i++)
{
tmp = y[i]
split(tmp,z)
print tmp > ((x[z[1],z[2]] > 1) ? "file3" : "file4")
}
}' SUBSEP="|" FS="|"
Laatst bewerkt door radoulov; op 12-12-2007 08:16.. |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|