![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Filformat problemet: Utdata av sqlplus | deepakgang | UNIX for Dummies Spørsmål og svar | 2 | 10-25-2007 04:56 |
| Produksjonen i et bestemt format bruker awk | Raynon | Shell programmering og Skripting | 4 | 01-24-2007 04:07 |
| format output | Tornado | Shell programmering og Skripting | 7 | 11-19-2006 06:17 |
| Format utdataene på fil | getdpg | Shell programmering og Skripting | 9 | 01-24-2006 12:50 |
| ls utdataformat | tonyt | UNIX for Dummies Spørsmål og svar | 6 | 11-23-2001 11:31 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Utdataformat - sammenlikning med I / p fil
Hei,
Jeg har en fil som inneholder mer enn 1 lakh poster som følgende: a. navn, id, by, stat, land, telefon (Forventet I / P filformat) navn, id, byen, staten, country, telefon (Current I / P filformat) Jeg ønsker å oppnå følgende oppgaver, a, Fjern ekstra komma in the City feltet. b, Legg til / fjern ekstra streng i id feltet (f.eks hvis id er 5001 jeg vil legge til 0 i begynnelsen, dvs. 05001 / i noen tilfelle, om id er 0123 fjerner 0 fra begynnelsen dvs. 123. Vær råd. Takk og hilsen Vel |
|
||||
|
Bruk SED for å gjøre det
Eksempel 1: For å fjerne flere komma's som er sammen.
sed '1, $ S /,,/,/' sourcefile>> targetfile Case 2: Jeg forstår som dette. Hvis id starter med '0 'og deretter fjerne den Hvis det ikke starter med '0 'og deretter legge den til. Det scenariet er ganske vanskelig ... La oss si at vi har en fil som dette cat test 1001, aa, bb, cc, dd 1001, aa, bb, cc, dd 1001, aa, bb, cc, dd 1001, aa, bb, cc, dd 011, aa, bb, cc, dd 011, aa, bb, cc, dd 011, aa, bb, cc, dd 011, aa, bb, cc, dd aa, bb, cc, dd aa, bb, cc, dd aa, bb, cc, dd aa, bb, cc, dd aa, bb, c, d og hvis jeg kjører på denne måten sed '1, $ S / ^ [1-9] / 0 /, 1, $ s / ^ 0 / / 'test Sjekk resultatet .. 001, aa, bb, cc, dd 001, aa, bb, cc, dd 001, aa, bb, cc, dd 001, aa, bb, cc, dd 11, aa, bb, cc, dd 11, aa, bb, cc, dd 11, aa, bb, cc, dd 11, aa, bb, cc, dd aa, bb, cc, dd aa, bb, cc, dd aa, bb, cc, dd aa, bb, cc, dd aa, bb, c, d men vi gjorde ikke trenger dette .. Vi må skille mellom dem .. så bruk denne kommandoen. sed '1, $ S / ^ [1-9] / -0 & /; 1, $ s / ^ 0 / 'test>> test1 cat test1 output \u003d\u003d\u003d\u003d\u003d\u003d -01001, Aa, bb, cc, dd -01001, Aa, bb, cc, dd -01001, Aa, bb, cc, dd -01001, Aa, bb, cc, dd 11, aa, bb, cc, dd 11, aa, bb, cc, dd 11, aa, bb, cc, dd 11, aa, bb, cc, dd aa, bb, cc,, dd aa, bb, cc,, dd aa, bb, cc,, dd aa, bb, cc,, dd aa, bb, c, d Nå u må bare fjerne "-" sed 's /^-// g' test1>> test2 cat test2 output \u003d\u003d\u003d\u003d\u003d 01001, aa, bb, cc, dd 01001, aa, bb, cc, dd 01001, aa, bb, cc, dd 01001, aa, bb, cc, dd 11, aa, bb, cc, dd 11, aa, bb, cc, dd 11, aa, bb, cc, dd 11, aa, bb, cc, dd aa, bb, cc, dd aa, bb, cc, dd aa, bb, cc, dd aa, bb, cc, dd aa, bb, c, d Håper jeg har gjort dette klart. Gi meg beskjed hvis noen ..... |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|