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
Multiple Feld-Separatoren in awk? (Erste ein Leerzeichen, dann ein Doppelpunkt) doubleminus UNIX for Dummies Questions & Answers 3 04-27-2008 04:28 PM
Ich benötige Hilfe beim Zählen der Felder und Feld-Separatoren mit Nawk scrappycc Shell Programmierung und Scripting 3 02-06-2008 11:47 PM
Umleitung können Sie mehrere Dateien für die Eingabe? Matrix_Prime UNIX for Dummies Questions & Answers 4 02-27-2005 07:07 PM
Awk Multiple Feld-Separatoren Tonka52 Shell Programmierung und Scripting 7 04-07-2004 10:37 PM
Multiple Output Feld aus der Datenbank-Datei Dennz UNIX for Dummies Questions & Answers 3 09-01-2003 01:41 PM

 
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 04-25-2008
kinksville kinksville is offline
Registrierte Nutzer
  
 

Join Date: Apr 2008
Beiträge: 7
Cool Multiple Input-Feld-Separatoren in awk.

Ich habe ein paar Beiträge hier Referenzierung, wie sie mit mehr als einem Eingabefeld Trennzeichen in awk. Ich habe ich würden wie ich (nur!) Herausgefunden, wie man diese Zeile in einer Logdatei:

90000000000000000000010001 Namen D0.90000000000103787900010001QF840840916070000007085814Y216254 @ D1111111111111111 \u003d 1107xxxxxxxxxxxxxxx x919MENCHIES

in diesem Format:

90000000000000000000010001, Name, 840840916070000007085814Y216654, 1111111111111111,1107,919 MENCHIES

Ich habe eine ganze Skript denn dies ist nur ein Schritt in einem Prozess der Umwandlung Protokolle in nützliche Informationen, aber Heres der entsprechende Teil.

# Autor: kinksville
Datum: 24. April, 2008
# Revidiert: April 24, 2008
# Version: Version 1,00
# Andere Dateien: cclookup.s, cclookup.rep
# Changelog:
# 24 April 2008: Die Schaffung des Skripts.
#
# End changelog.

BEGIN (
FS \u003d "[\. QF \ @ D \u003d x] +"
OFS \u003d ","
)
# Erste Iteration der Suche @ D, die Strippen. Charakter und die Einfügung eines OFS.
/ \ @ D / (# Suche nach einer Zeile mit der Zeichenfolge @ D
report2 \u003d "cclookup.rep2" # define report2 Variable.
report \u003d "cclookup.rep" # define Bericht Variable.
num_cclookup + +; # auth Sie Zahl der Anträge.
print $ 1, $ 2, $ 5, $ 6, $ 7, $ 8> Bericht;
print $ 0> report2;
) # Ende der @ D suchen.


Der Schlüssel ist die Tatsache, dass awk wird einen regulären Ausdruck als Trennzeichen Datei. Diese regexp FS \u003d "[\. QF \ @ D \u003d x] +" mit Räumen, die. QF die Zeichenfolge, die Zeichenkette @ D, die \u003d, und das Zeichen X. + Die nach der abschließenden Klammer ist der Schlüssel, denn das ermöglicht es für 1 oder mehrere Instanzen eines der Zeichen durch die regexp.

Das bedeutet, dass x und xxxxxx sind beide als ein einziges Feld-Separator.

Ich bin nach wie vor müssen die Arbeit an der Ausgabe, da ich jetzt zu trimmen den Namen aus dem Ende des letzten Bereich. Leider ist die Zahl in den letzten Bereich kann überall 9999999-1 und das ist der Teil, dass ich mich zu bewahren. Vielleicht ein [^ 0-9] + Ausdruck?
 

Lesezeichen

Tags
awk, awk trim, trim, trim awk

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 04:35 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 Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0