![]() |
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
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. |
|
||||
|
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 Thanks again .. Steven Sist endret av Yogesh Sawant; 06-20-2008 kl 04:54.. Årsak: lagt til kode tags |
|
||||
|
.. 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 |
|
||||
|
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
Code:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++){if($i=="0"){$i=""}}}1' SLsTester_DataFile.csv > NewFile
|
|
||||
|
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 |
![]() |
| Hugseliste |
| Tags |
| solaris |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|