![]() |
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| 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 fjernes dobbeltposter med ud sortere | svenkatareddy | Shell Programmering og Scripting | 19 | 06-11-2008 03:10 PM |
| Sådan fjernes dobbeltposter med ud sortere | svenkatareddy | Sun Solaris | 2 | 02-28-2008 08:38 AM |
| Dupliker optegnelser fra Oracle til tekstfil. | shilendrajadon | UNIX for Advanced & Ekspertsøgning Brugere | 1 | 01-10-2008 11:21 AM |
| Slet Dubler optegnelser fra en tilde afgrænset fil | irshadm | Shell Programmering og Scripting | 5 | 12-06-2007 05:36 AM |
| Fjern Dubler linjer fra fil | Nysif Steve | UNIX for dummyer Spørgsmål & svar | 18 | 09-09-2007 09:57 AM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Fjern alle forekomster af dobbeltposter fra fil
Hej eksperter,
Jeg er ny til scripting. Jeg har et krav som nedenfor. File1: A | 123 | NAME1 A | 123 | NAME2 B | 123 | NAME3 Fil2: C | 123 | NAME4 C | 123 | NAME5 U | 123 | NAME6 1) Jeg har 2 fusionere både filer. 2) behovet for at gøre en slags (centrale felter er første og andet felt) 3) at fjerne alle forekomster af dubletter fra den fusionerede fil og skrive skrive alle disse eksemplarer forekomster i én fil. 4) resten af de registre, som er enestående i den oprindelige kilde filer, der skal skrives ind i en anden fil outfiles: fil3: A | 123 | NAME1 A | 123 | NAME2 C | 123 | NAME4 C | 123 | NAME5 File4: B | 123 | NAME3 U | 123 | NAME6 Please hjælp mig med den løsning, som jeg er i virkelig presserende. Sætter pris på din hjælp. Tak |
|
||||
|
Citat:
Så hvis alle data er unikke alle posterne bør gå til File4 .. Er det ikke? Forklare mere klart, så du ll få et hurtigt svar fra dette forum. Tro mig her i dette forum virkelig geniale og eksperter her for at hjælpe dig ud når som helst .. bortset fra mig .. ![]() Skål user_prady |
|
|||||
|
En anden slags / awk løsning
(hvis dine filer ikke allerede er sorteret som de prøver, du 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 For variabel kolonnebredden: du bør ikke bruge substr, men opdelt for eksempel: 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="|"
Senest redigeret af radoulov; 12-12-2007 kl 08:16 AM.. |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|