![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
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. |
|
||||
|
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 |
|
||||
|
.. 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 |
|
||||
|
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 |
|
||||
|
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 |
![]() |
| Lesezeichen |
| Tags |
| solaris |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|