The UNIX and Linux Forums  
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.

Go Back   Die UNIX-und Linux-Foren > Top Foren > UNIX for Dummies Questions & Answers
.
Google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 02-02-2008
aismann aismann is offline
Registrierte Nutzer
  
 

Join Date: Apr 2005
Beiträge: 37
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:
1-0-0060122450000
1-0-0060122450001
1-0-0060122450002
1-0-0060122450006
1-0-0060122450007
1-0-0060122450014
1-0-0060122450021
1-0-0060122450024
1-0-0060122450028
1-0-0060122450029
und eine weitere Datei, die so aussieht wie
Zitat:
0060122000550
0060122000632
0060122001374
0060122004006
0060122004141
0060122004607
0060122011124
0060122014392
0060122014537
ich dringend wissen, wie man mit der 2-Dateien mit der Verwendung der zweiten "-" als Trennzeichen. Ive tryong wurden den ganzen Tag kann ich es nicht herausgefunden. Bitte helfen Sie!

Sara
  #2 (permalink)  
Old 02-02-2008
H2OBoodle H2OBoodle is offline
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 18
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.
  #3 (permalink)  
Old 02-02-2008
aismann aismann is offline
Registrierte Nutzer
  
 

Join Date: Apr 2005
Beiträge: 37
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
  #4 (permalink)  
Old 02-02-2008
H2OBoodle H2OBoodle is offline
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 18
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.
  #5 (permalink)  
Old 02-02-2008
vakharia Mahesh vakharia Mahesh is offline
Registrierte Nutzer
  
 

Join Date: Feb 2007
Beiträge: 51
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.
  #6 (permalink)  
Old 02-06-2008
aismann aismann is offline
Registrierte Nutzer
  
 

Join Date: Apr 2005
Beiträge: 37
Dank h20boodle und Mahesh. Sie beide arbeiten sehr gut! Nochmals vielen Dank
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 10:17 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0