![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Wie entfernt man doppelte Datensätze mit der Art | svenkatareddy | Shell Programmierung und Scripting | 19 | 06-11-2008 03:10 PM |
| Wie entfernt man doppelte Datensätze mit der Art | svenkatareddy | SUN Solaris | 2 | 02-28-2008 08:38 AM |
| Doppelte Datensätze aus Oracle-Text-Datei. | shilendrajadon | UNIX für Fortgeschrittene und Experten | 1 | 01-10-2008 11:21 AM |
| Löschen Sie doppelte Datensätze aus einer Tilde Datei | irshadm | Shell Programmierung und Scripting | 5 | 12-06-2007 05:36 AM |
| Entfernen von doppelten Zeilen aus Datei | Nysif Steve | UNIX for Dummies Questions & Answers | 18 | 09-09-2007 09:57 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Entfernen Sie alle Instanzen der doppelte Datensätze aus der Datei
Hi Experten,
Ich bin neu in Scripting. Ich habe eine Verpflichtung wie folgt. Datei1: A | 123 | NAME1 A | 123 | NAME2 B | 123 | Name3 Datei2: C | 123 | NAME4 C | 123 | NAME5 D | 123 | NAME6 1) Ich habe 2 Zusammenführen der beiden Dateien. 2) Notwendigkeit zu tun, eine Art (Schlüsselfelder sind erster und zweiter Bereich) 3) Entfernen Sie alle Instanzen der doppelte Datensätze aus der fusionierten Datei schreiben und alle diese doppelte Instanzen in einer Datei. 4) Rest der Datensätze, die einzigartig in der Original-Source-Dateien, muss geschrieben werden, in einer anderen Datei outfiles: datei3: A | 123 | NAME1 A | 123 | NAME2 C | 123 | NAME4 C | 123 | NAME5 File4: B | 123 | Name3 D | 123 | NAME6 Bitte helfen Sie mir mit der Lösung, wie ich bin im realen dringend. Danken Ihnen für Ihre Unterstützung. Danke |
|
||||
|
Zitat:
Also, wenn alle Daten sind einzigartig alle Rekorde gehen sollte, um File4 .. n't Ist es? Erklären Sie deutlich mehr, so dass Sie sich einen schnellen ll Antwort von diesem Forum. Glauben Sie mir, hier in diesem Forum wirklich brillant und Experten hier, um Ihnen zu helfen, jederzeit .. ohne mich .. ![]() Prost user_prady |
|
|||||
|
Eine andere Art / Awk Lösung (falls Sie Ihre Dateien noch nicht sortiert, da die Proben Sie auf dem Laufenden): 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="|"
Verwenden Sie nawk oder / usr/xpg4/bin/awk auf Solaris. PS Für die Variable Spaltenbreite: Sie sollten nicht substr, aber Split zum Beispiel: 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="|"
Zuletzt bearbeitet von radoulov; am 12.12.2007 08:16 AM.. |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|