The UNIX and Linux Forums  


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



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
Hilfe bei der Analyse eine CSV-Datei und eine neue Ausgabe-Datei VKR Shell Programmierung und Scripting 15 08-01-2008 08:33 AM
Finden & Umzug Älteste Datei von der Analyse / Sortierung Datum Info in Datei-Namen nikosey Shell Programmierung und Scripting 6 07-30-2008 10:46 PM
Parsen einer Datei aol12123 Shell Programmierung und Scripting 11 03-25-2008 02:06 AM
Parsing eine CSV-Datei chiru_h Shell Programmierung und Scripting 6 02-12-2008 09:33 AM
Parsing eine Log-Datei tbirenzweig Shell Programmierung und Scripting 4 06-20-2006 08:02 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 10-13-2008
brawnr brawnr is offline
Registrierte Nutzer
  
 

Join Date: Oct 2008
Beiträge: 2
Datei-Parsing Hilfe

Hallo,

Ich habe eine Datei, die Gruppen von Feldern. Diese Gruppen werden durch eine leere Zeile, die zu einer Art logischem aufnehmen.

Jede Zeile besteht aus einem Feld-Wert-Paar.

Wenn möchten, finden Sie alle Datensätze, in denen Bereich "d" hat einen Wert von "4" und wenn ja, ich möchte den Wert von 'a' (aus dem gleichen Datensatz).

Hier ist ein Beispiel-Input-Datei:
Zitat:
A 1
b 2
C 3
d 4
a 2
B 1
d 6

B 3
A 6
c 2

c 2
d 4
a 9

C 3
d 4
a 3

d 4
A 6
Ich möchte am Ende eine Datei mit:
Zitat:
1
6
Import Nore über Dinge, die der Eingabedatei sind a) die Anzahl der Datensätze variiert, b) nicht alle Datensätze enthalten ein "d" Bereich, c) nicht alle Datensätze enthalten eine "A"-Bereich, e) Felder können in beliebiger Reihenfolge innerhalb eines Datensatzes.

Ich denke, die Antwort wird die Verwendung AWK aber ich habe sehr wenig Kenntnis der AWK und nur für ganz einfache Dinge.

Das Betriebssystem Sun 5/8 durch die Art und Weise.

Hilfe wäre sehr geschätzt.

Danke.

  #2 (permalink)  
Old 10-13-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell-Programmierer, Autor
  
 

Join Date: März 2007
Ort: Toronto, Kanada
Beiträge: 2365

Auf der Grundlage der Input von Ihnen, die Ausgabe sollte sein:


Code:
1
9
3
6

Dieses Skript wird Ihnen, dass:


Code:
awk '
/a/ { a = $2 }
/d/ { d = $2 }
/^$/ && d == 4 && a > 0 {
   print a 
   a = -1
   d = -1
}
END {
   if ( d == 4 && a > 0 ) print a
}
' "$FILE"

  #3 (permalink)  
Old 10-13-2008
Shamrock shamrock is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Oct 2007
Ort: USA
Beiträge: 753
Unklare

Zu sein scheint eine große Kluft zwischen den Anforderungen und der Ausgang Sie erwarten. Auf der Grundlage von, was Sie haben erklärt, die Ausgabe sollte wie folgt aussehen: cfajohnson's awk Skript ... richtig?
  #4 (permalink)  
Old 10-13-2008
brawnr brawnr is offline
Registrierte Nutzer
  
 

Join Date: Oct 2008
Beiträge: 2
Es tut uns leid, Sie sind richtig, die Ausgabe gelesen haben sollte:


Code:
 
1
9
3
6

Vielen Dank für Ihre Hilfe cfajohnson.
  #5 (permalink)  
Old 10-13-2008
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
addict
  
 

Join Date: Jan 2007
Lage: Варна, България / Milano, Italia
Posts: 2919
Mit Perl:

Code:
perl -00 -ne'print $1,"\n"if/d 4/&&/a (.)/' filename

Und noch ein AWK Ansatz:


Code:
awk '/d 4/ && /a / {
  for (i=1; i<=NF; i++)
    if ($i == "a") print $(i+1)
	}' RS= filename


Zuletzt bearbeitet von radoulov; am 10-13-2008 04:03 PM.. Grund: refactored
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 11:22 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