Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google-Website



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 07-17-2008
Registrierte Nutzer
 

Join Date: Feb 2008
Beiträge: 60
awking und Grepping Teile von Dateien: die "Super-diff"

OKAY ----

Hier ist, was ich tun muss.
Ich habe zwei Dateien. Ich brauche den Vergleich der beiden Dateien, wie z. B. mit dem Befehl diff. Ich bin hinzufügen FileNew zu FILEOLD

Wenn Felder $ 1, $ 2, $ 5, und 6 sind die gleichen, dann kann ich nicht hinzufügen möchten FileNew Aufzeichnungen zu FILEOLD.
Wenn sie nicht sind, dann fügen Sie die Zeilen.

Ist es möglich in der UNIX-Scripting-Welt? Es scheint, dass dies getan werden könnte, in AIX. Ich habe auch Perl als letzten Ausweg. Suchen Sie schwer, die Frage, ob jemand etwas getan hat, wie dies vor.

Sponsored Links
  #2 (permalink)  
Old 07-17-2008
Registrierte Nutzer
 

Join Date: Feb 2008
Beiträge: 60
Es kann sickboys Eintrag ist ähnlich ... über Telefon, ob, wenn ich aus
  #3 (permalink)  
Old 07-17-2008
Registrierte Nutzer
 

Join Date: Feb 2008
Beiträge: 60
Hat jemand möchte ein Riss in dieser?
Mein Gehirn langsam ist einfach nicht verstehen.

Wenn zum Beispiel:

awk 'BEGIN (FS \u003d OFS \u003d","}
NR \u003d\u003d FNR (a [$ 1] \u003d $ 0;) nächsten
a [$ 1] ($ 0 \u003d $ 0 RS a [$ 1]) (print) 'Datei2 Datei1

Fügt eine Zeile in Datei1, wenn das erste Feld entspricht in beiden Dateien.
Wie kann man nur, wenn die Zeile sagen, fields1, 2, 5 und 6 entsprechen die beiden Dateien?
Und natürlich möchte ich haben, um die (dh, nur noch die Leitungen zum Datei1, wenn Felder 1, 2, 5 und 6 sind nicht aufeinander abgestimmt zwischen datei1 und datei2)

Natürlich die erste FNR ist datei2, a [$ 1] wird das erste Feld ein.
In der zweiten Zeile dann mit a [$ 1] und fügt einen Datensatz in der Ausgabe von Datei1.

Dank viel für jegliche Hilfe.
  #4 (permalink)  
Old 07-17-2008
Registrierte Nutzer
 

Join Date: Feb 2008
Beiträge: 60
Datei1:
----------------------------
Äpfel, Birnen, Bananen, Orangen, Grapefruit, Wassermelone, Ananas
epples, Birnen, Bananen, Orangen, Grapefruit, Wassermelone, Ananas
epples, Paars, Bananen, Orangen, Grapefruit, Wassermelone, Ananas
graby, epples, Bananen, Orangen, Grapefruit, Wassermelone, Ananas


Datei2:
----------------------------
pearsrs, Äpfel, bananers, orangas, Grapefruit, graby, Ananas
Äpfel, Birnen, Bandanas, orangatangs, Grapefruit, Wassermelone, wineapple



Gesucht Ausgang: (Datei1: Anhang: Nur Datensätze hinzuzufügen, wenn Felder 1, 2, 5 und 6 stimmen nicht überein)
-----------------------------
Äpfel, Birnen, Bananen, Orangen, Grapefruit, Wassermelone, Ananas
epples, Birnen, Bananen, Orangen, Grapefruit, Wassermelone, Ananas
epples, Paars, Bananen, Orangen, Grapefruit, Wassermelone, Ananas
graby, epples, Bananen, Orangen, Grapefruit, Wassermelone, Ananas
pearsrs, Äpfel, bananers, orangas, Grapefruit, graby, Ananas
  #5 (permalink)  
Old 07-17-2008
vgersh99's Avatar
Moderator
 

Join Date: Feb 2005
Ort: Boston, MA
Posts: 5199
nawk-f jeff.awk FileNew FILEOLD

jeff.awk:

Code:
{ idx = $1 SUBSEP $2 SUBSEP $5 SUBSEP $6 }
NR==FNR { fnew[ idx ] = $0; next }
{
   if ( !(idx in fnew) )
      $0 = $0 ORS fold[idx]
}
1


Zuletzt bearbeitet von vgersh99; am 07-17-2008 04:30 PM..
  #6 (permalink)  
Old 07-17-2008
Registrierte Nutzer
 

Join Date: Feb 2008
Beiträge: 60
Grundsätzlich ist dies, was ist ein Logfile, die Ausschreibungen von einem Programm aus.
Die Einträge in eine Datei sank kontinuierlich. Aber einige Einträge am selben Tag, Transaktions-ID, Standort, Alarm-Code und halten Sie sich fallen in über und mehr (wie bis das Problem behoben ist)

Die awk-Filter ist die Schaffung eines 2. Datei fügt hinzu, dass nur neue Nachrichten, wenn sie nicht das gleiche Datum, ID, Ort, PLZ, und auf eine kontinuierliche Basis dieser Filter aus.
  #7 (permalink)  
Old 07-17-2008
Registrierte Nutzer
 

Join Date: Feb 2008
Beiträge: 60
Danke
Doch etwas ist schief.

Nun gut, wenn ich:
nawk-f jeffawk Datei2 Datei1
------------------------
Äpfel, Birnen, Bananen, Orangen, Grapefruit, Wassermelone, Ananas
epples, Birnen, Bananen, Orangen, Grapefruit, Wassermelone, Ananas

epples, Paars, Bananen, Orangen, Grapefruit, Wassermelone, Ananas

graby, epples, Bananen, Orangen, Grapefruit, Wassermelone, Ananas

Dies ist im Grunde eine Katze Datei1.


Wenn ich:
nawk-f jeffawk datei1 datei2
Bekomme ich die folgende:
-----------------------
pearsrs, Äpfel, bananers, orangas, Grapefruit, graby, Ananas

Äpfel, Birnen, Bananen, Orangen, Grapefruit, Wassermelone, Ananas



Die erste Zeile, "pearsrs", befindet sich direkt auf das Geld. Aber das ist im Grunde eine Katze Datei2.


Sie sind sich nicht sicher
? ? ? ?

Zuletzt bearbeitet von jeffpas; am 07-17-2008 05:19 PM..
Sponsored Links
Closed Thread

Lesezeichen

Tags
awk, grep

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 Aus


Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Awking! Drucken decimal Ausgabe Struck divzz Shell Programmierung und Scripting 4 05-28-2008 09:02 AM
Splitting großen XML-Dateien in fixsized wellformed Teile Malapha Shell Programmierung und Scripting 0 03-17-2008 11:35 AM
Grepping viele Werte vom gleichen Dateien Sreejith_VK Shell Programmierung und Scripting 2 03-15-2008 08:41 AM
Grepping Zeilen von Dateien Mariner UNIX für Fortgeschrittene und Experten 2 09-24-2004 09:12 AM
diff 2 Dateien; Ausgabe diff der Datei bis zur 3. blt123 Shell Programmierung und Scripting 2 05-28-2002 12:29 PM



Alle Zeiten sind GMT -4. Es ist jetzt 10:51 PM.


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 Inhalt-Copyright © 1993-2010. Alle Rechte Reserved.Ad Management by RedTyger

Content Relevant URLs durch vBSEO 3.2.0