The UNIX and Linux Forums  


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
Wie zu lesen und zu vergleichen, mehrere Felder in einer Spalte in der gleichen Zeit ahjiefreak Shell Programmierung und Scripting 1 06-19-2008 12:08 PM
Ersetzen Sie 3 Felder mit null in der Datei vukkusila Shell Programmierung und Scripting 1 09-12-2007 02:10 AM
Kombinieren Sie ein datafile mit Master datafile, emergent! onthetopo Shell Programmierung und Scripting 6 05-12-2007 07:36 AM
Suchen und Ersetzen verschiedenen Bereichen tungaw2004 UNIX for Dummies Questions & Answers 3 03-29-2007 04:16 AM
ersetzen einen Abschnitt in einer Datei Paprika Shell Programmierung und Scripting 4 06-17-2005 09:48 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 06-20-2008
MrCarter MrCarter is offline
Registrierte Nutzer
  
 

Join Date: Jun 2008
Beiträge: 9
Wie lese ich / Suchen / Ersetzen-Felder in einer CSV-Datei?

hallo.

Ich bin eher ein Anfänger hier, so bitten wir um etwas Geduld. Mein Stolperstein beim Laden CSVS in ORACLE Tabellen ist:

Ich muss eine CSV-Datei lesen, überprüfen Sie mehrere Felder in jeder Zeile, und wenn alle Felder erklärte eine nur ZERO [statt YYYYMONDD Datum Bereich erwartet] ersetzen Sie es mit einem Null-/ Leerzeichen.

Ich hatte in:

Katze <datafile> | awk '$ 5 \u003d\u003d "0" ( "") END (print)';
Katze <datafile> | awk '$ 8 \u003d\u003d "0" ( "") END (print)'; .. etc..

.. leider es hat nicht funktioniert ..

alle Ratschläge / Kommentare sehr geschätzt

Steven.
  #2 (permalink)  
Old 06-20-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Posts: 4342
Eine Probe der CSV-Datei und das gewünschte Ausgabeformat.

Grüße
  #3 (permalink)  
Old 06-20-2008
MrCarter MrCarter is offline
Registrierte Nutzer
  
 

Join Date: Jun 2008
Beiträge: 9
Vielen Dank für die schnelle Antwort ..

die csv die ersten zwei Zeilen wie folgt aussehen:


Code:
13426,Williams,Robyn,Robyn,20031106,0,0,20080421,0,NASP39,Casual Sport & Recreation Ass,43.24,FACI,E,FASP,SUPP,SP,NASP35,20080421,0,100,FACI,V,FASP,SUPP,SP,0,0,Ms,FT,FT,SUB
15721,Clinton,Hilary,Hilary,20041101,hs0jo,poppy@aol.com,20080601,0,HSL236,Project Manager,56.76,700,A,700,ACAD,PB,V32636,20071207,20080731,0.36,700,V,HSEN,VLEC,FL,0,0,Dr,PT,FT,SUB

.. und die gewünschte Ausgabe gilt in unserer Oracle-Datenbank über sqlldr .. (Entschuldigung, wenn das ist nicht das, was Sie dazu ..)

Nochmals vielen Dank ..

Steven

Zuletzt bearbeitet von Yogesh Sawant; am 06-20-2008 05:54 AM.. Grund: Code-Tags hinzugefügt
  #4 (permalink)  
Old 06-20-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Posts: 4342
Versuchen Sie folgendes:


Code:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++){if($i=="0"){$i=""}}}1' file

Grüße
  #5 (permalink)  
Old 06-20-2008
MrCarter MrCarter is offline
Registrierte Nutzer
  
 

Join Date: Jun 2008
Beiträge: 9
.. ein Fehler wird zurückgegeben, wenn ich versuche, diese entweder selbst oder in einem Skript - bin ich nicht läuft es richtig?

$ Cat SLsTester_DataFile.csv | awk BEGIN (FS \u003d OFS \u003d","}{ for (i \u003d 1; i <\u003d NF; i + +) (if ($ i \u003d\u003d "0") ($ i \u003d""}} ) 1 "-Datei;

.. da der Fehler lautet:

-bash: Syntaxfehler in der Nähe unerwartete Token "("

Ihre Unterstützung ist sehr ..

Grüße, Steven
  #6 (permalink)  
Old 06-20-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Posts: 4342
Rohr nicht das Ergebnis der Katze Befehl aus, um die Datei. Dies ist ausreichend:


Code:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++){if($i=="0"){$i=""}}}1' SLsTester_DataFile.csv

Sie können die Ausgabe in eine Datei wie folgt:


Code:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++){if($i=="0"){$i=""}}}1' SLsTester_DataFile.csv > NewFile

Grüße
  #7 (permalink)  
Old 06-20-2008
NYankz NYankz is offline
Registrierte Nutzer
  
 

Join Date: Jun 2008
Beiträge: 12
Wenn Sie nur wollen, um den Wert zu ändern, wenn es ein ungültiges Datum, an dem Sie Punkte aufgeführt:

awk '(FS \u003d OFS \u003d","} $ 5 \u003d\u003d "0" ($ 5 \u003d "") $ 8 \u003d\u003d "0" ($ 8 \u003d "" $ 9) \u003d\u003d "0" ($ 9 \u003d "") $ 19 \u003d\u003d "0" ($ 19 \u003d "") $ 20 \u003d\u003d "0" ($ 20 \u003d "") $ 27 \u003d\u003d "0" ($ 27 \u003d "0") (print $ 0) 'file.csv

Zuletzt bearbeitet von NYankz; am 06-20-2008 12:11 PM.. Grund: Festnetz
Closed Thread

Lesezeichen

Tags
solaris

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 01:24 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