The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > UNIX for Dummies Spørsmål og svar
.
google unix.com



UNIX for Dummies Spørsmål og svar Hvis du er usikker på hvor du skal legge inn en UNIX-eller Linux-spørsmålet, legger den her. Alle UNIX og Linux newbies velkommen!

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Hvordan lese og sammenligne flere felt i en kolonne på samme tid ahjiefreak Shell programmering og Skripting 1 06-19-2008 11:08
Erstatt 3 felt med null i filen vukkusila Shell programmering og Skripting 1 09-12-2007 01:10
Kombiner en datafile med Master datafile, emergent! onthetopo Shell programmering og Skripting 6 05-12-2007 06:36
søk og erstatt ulike felt tungaw2004 UNIX for Dummies Spørsmål og svar 3 03-29-2007 03:16
erstatte en del i en datafile Paprika Shell programmering og Skripting 4 06-17-2005 08:48

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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 06-20-2008
MrCarter MrCarter is offline
Registrert bruker
  
 

Bli Dato: juni 2008
Innlegg: 9
Hvordan skal jeg lese / finne / bytte felt i en csv datafile?

hallo.

Jeg er litt novise her så vær tålmodig. Min snublestein ved lasting csvs inn ORACLE tabeller er dette:

Jeg trenger å lese en CSV datafile, sjekk flere felt i hver linje, og om noen av angitt feltene inneholder Null bare [i stedet for YYYYMONDD datofelt forventes] og erstatte den med en null / åpenrom.

Jeg hadde en gå på:

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

.. alas it didn't work ..

alle råd / kommentarer meget verdsatt

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

Bli Date: Feb 2007
Innlegg: 4303
Legg inn en prøve av CSV datafile og ønsket output.

Hilsen
  #3 (permalink)  
Old 06-20-2008
MrCarter MrCarter is offline
Registrert bruker
  
 

Bli Dato: juni 2008
Innlegg: 9
takk for raskt svar ..

CSV første to linjene ser slik ut:

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
.. og ønsket output er gyldig oppføring i vårt Oracle database via sqlldr .. (unnskyldninger hvis dvs ikke hva du mente ..)

Thanks again ..

Steven

Sist endret av Yogesh Sawant; 06-20-2008 kl 04:54.. Årsak: lagt til kode tags
  #4 (permalink)  
Old 06-20-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4303
Prøv dette:

Code:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++){if($i=="0"){$i=""}}}1' file
Hilsen
  #5 (permalink)  
Old 06-20-2008
MrCarter MrCarter is offline
Registrert bruker
  
 

Bli Dato: juni 2008
Innlegg: 9
.. en feil blir returnert når jeg prøver å kjøre denne enten alene eller i et skript - jeg kjører ikke det riktig?

$ 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 'file;

.. feilen gitt lyder:

-bash: syntax error near uventet token `( '

din assistanse er meget verdsatt ..

regards, Steven
  #6 (permalink)  
Old 06-20-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4303
Ikke rør resultatet av katten kommandoen til filen. Dette er tilstrekkelig:

Code:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++){if($i=="0"){$i=""}}}1' SLsTester_DataFile.csv
Du kan omadressere utdataene til en fil som følger:

Code:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++){if($i=="0"){$i=""}}}1' SLsTester_DataFile.csv > NewFile
Hilsen
  #7 (permalink)  
Old 06-20-2008
NYankz NYankz is offline
Registrert bruker
  
 

Bli Dato: juni 2008
Innlegg: 12
Hvis du bare vil endre verdien hvis det er en ugyldig dato på stedene du listet opp:

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

Sist endret av NYankz; 06-20-2008 kl 11:11.. Reason: fast
Closed Thread

Hugseliste

Tags
solaris

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 08:08.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0