![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| UNIX for Dummies Questions & Answers Wenn Sie nicht sicher sind, wo Sie eine UNIX-oder Linux-Frage, post it here. Alle UNIX-und Linux-Anfänger willkommen! |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Entwicklung Releases: Linux Mint 4.0 beta "Fluxbox", 4.0 Alpha "Debian" | iBot | UNIX-und Linux-RSS-News | 0 | 01-04-2008 03:00 PM |
| Erläutern Sie die Zeile "mn_code \u003d" env | grep ".. mn" | awk-F "\u003d" '(print $ 2)' `" | Lokesha | UNIX for Dummies Questions & Answers | 4 | 12-20-2007 01:52 AM |
| Nr. utpmx Eintrag: Sie müssen exec "login" von der niedrigsten Ebene "Shell" | peterpan | UNIX for Dummies Questions & Answers | 0 | 01-18-2006 04:15 AM |
| sich zwei Linien, wenn die zweite Zeile enthält "US Dollar" | powah | Shell Programmierung und Scripting | 2 | 10-21-2005 07:30 PM |
| Hilfe ~ ~ Beitritt und "multijoin" | hyo77 | Shell Programmierung und Scripting | 1 | 11-19-2003 01:20 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Brauchen Sie Hilfe mit "Join"
Sehr geehrte Experten,
Ich muss dringend wissen, wie sich diese 2-Dateien, die mit. Ich habe eine Datei, die aussieht wie Zitat:
Zitat:
Sara |
|
||||
|
Zwei Dinge:
Ich habe nie beitreten, so dass Sie wahrscheinlich, um eine bessere Antwort von jemand anderem. Ich habe nicht das Problem Erklärung sehr klar, und man sich die Daten nicht viel helfen. Es scheint, dass es keine Gemeinsamkeiten zwischen den Daten. Zum Beispiel, sind die ersten Einträge aus den beiden Dateien zu entsprechen? 1-0-0060122450000 0060122000550 Sind die Zahlen 00060122, was Sie versuchen, sich auf? Wenn ja, was ist das gewünschte Ausgabeformat Sie nach? Wie dem auch sei, ich mich ein wenig mit sich und fanden die Ergebnisse können problemlos per awk einfach drucken Sie die Felder, die Sie brauchen. Vielleicht sollten Sie sich an, dass es so. Wenn Sie eine detaillierte Beschreibung von dem, was Sie sind, nachdem sie kann dazu beitragen. |
|
||||
|
leider war ich nicht genau.
Die beiden Dateien sind riesig, mehr als 2 Millionen Datensätze jeder. Aber das Format ist das gleiche. Einzige Unterschied ist, dass eine Datei hat den zusätzlichen "1-0 -" oder "1-1 -" oder "1-3 -". Im tut es ein langer Weg, indem Zeichen 1-4 aus und dann mit und fügen sich zu einem späteren Zeitpunkt erneut. Schätzen, wenn Sie sich lassen Sie mich wissen, wie es mit awk. Vielen Dank! sara |
|
||||
|
Nun meine Annahmen, auf was Sie zu tun versuchen waren schlecht, und so hat mein awk gesamteuropäischen Lösung nicht für mich. Allerdings habe ich ihm ein Bild mit einer wirklich kurzen Python-Skript, und ich glaube, ich kann was Sie brauchen.
Um ehrlich zu sein, immer noch nicht geben Sie mir eine klare Vorstellung von dem, was Sie wollten die Ausgabe aussehen, so dass hier das, was ich angenommen. Wenn ich mich irren, dann sorry, das war mein letzter Schuss. Mit den ersten vier Zeilen der Daten, ich glaube, Sie wollen, dass diese Ausgabe: 0060122450000 2000550 0060122450001 2000632 0060122450002 2001374 0060122450006 2004006 Die erste Zahl ist aus file_a mit den ersten vier Zeichen abgehackt. Die zweite Zahl ist der erste Wert entfernt. Wenn dies richtig ist, dann hier ein super einfaches Python-Skript, um das für Sie: Script Name: foo.py # Öffnen Sie die Dateien fa \u003d open ( "file_a ',' rb ') fb \u003d open ( "file_b ',' rb ') # Gehen Sie durch die Dateien Zeile für Zeile stripping die nur die Teile #, Die Sie behalten möchten. Streifen auch die Zeilenumbrüche aus dem Ende. für Zeile in fa: Bita \u003d Zeile [4]. Streifen ( "\ n") tmpb \u003d fb.readline (). Streifen ( "\ n") # Sie können eine chk hier, um zu gewährleisten tmpb Treffer Bita. Sie zu tun haben, aber einige zusätzliche Hacken. Mit Millionen von Datensätzen, würde ich es tun. bitb \u003d tmpb [-7:] Drucken Bita, bitb # Dateien schließen fa.close () fb.close () Führen Sie das Skript wie folgt aus: shellPrompt $ python foo.py Das Skript um die Annahme, dass Ihre Daten korrekt sind aufeinander abgestimmt, wobei die Einträge Position-weise die Art und Weise durch. Wenn sie es nicht sind, dann wird dies nicht ohne Änderungen. Ihre Daten werden falsch, wenn die Werte verschoben. Und schließlich gibt es wahrscheinlich mehr elegante python oder Shell-Techniken, dies zu tun, aber das funktioniert. Viel Glück. Zuletzt bearbeitet von H2OBoodle; am 02.02.2008 08:18 AM.. Grund: mehr Infos, wie man das Skript ausführen, warnen, auf Daten der Korruption, wenn die Daten nicht an. |
|
||||
|
beteiligen
Aismann
Werden Sie bitte deutlich machen, was Sie wollen in der Output-Datei? sehen für die erfolgreiche Ausführung von commd beitreten zu können benötigen Sie den Bereich sollte mit der gleichen Länge sortiert und in der gleichen Reihenfolge. dh wenn Digit -> sort-n, und wenn alfabet dann -> sort-d. so dass die beiden wird die Datei sortiert auf der gleichen Reihenfolge und schneller (ein bisschen), die Ausführung Bereich als 1. und Nutzung Join -1 1 -2 1-t (Trennzeichen, wenn Sie haben alle)-o 1.1 1.2 1.3 Datei1 Datei 2> Ausgabedatei. Und Ihre Arbeit erledigt ist. Genießen. |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|