![]() |
|
|
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 |
| Fjern etterfølgende mellomrom etter skilletegn | kiran_418 | UNIX for Dummies Spørsmål og svar | 1 | 04-29-2008 03:19 |
| Slik fjerner etterfølgende mellomrom | mahek_bedi | UNIX for Dummies Spørsmål og svar | 2 | 08-10-2007 08:21 |
| fjerne etterfølgende newline tegn | shweta_d | Shell programmering og Skripting | 7 | 06-05-2007 10:29 |
| etterfølgende spørsmålstegn i filnavn | devoetfd | UNIX for Dummies Spørsmål og svar | 3 | 06-09-2006 11:45 |
| Ledende og etterfølgende mellomrom | sleepster | Shell programmering og Skripting | 7 | 10-29-2003 11:48 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Fjern etterfølgende G
Hei, jeg prøver å skrive et skript som vil beregne mengden data som er igjen i en lagringsplass volum. Jeg kjører Tru64 Unix-versjon 5.1B patch kit 6. Scriptet blir kjørt mot en AdvFS domene. Jeg er programmering i Korn Shell versjon M-11/16/88f.
Den grunnleggende ideen er at jeg vil kjøre df-h og grep for det aktuelle domenet. Jeg så pipe at produksjonen i awk å trekke ut de to feltene jeg ønsker og lagre dem i variabler. Jeg har gjort det så langt med manuset mitt. Så nå har jeg to variabler: totalt og gjenværende. Begge holder et tall etterfulgt av bokstaven G (for Gigabytes). Jeg vil fjerne den etterfølgende G og deretter ta de 2 tallene som er venstre og ut forskjellen. Det jeg stabber på er hvordan man skal fjerne det etterfølgende 'G'. Jeg vet at sed, Kunne jeg gjøre noe sånt som: new_variable \u003d `sed 's / [0-9] .* G $ / / g' ` å fjerne den etterfølgende G, men til min kunnskap du ikke kan passere et skall variabel i sed, Så jeg tror ikke disse ville arbeide: total \u003d `sed 's / $ (total) $ / / g' ` Så nå mitt program har 2 variabler som begge holder en rekke umiddelbart etterfulgt av bokstaven G. jeg vet at jeg trolig kunne bruke klippet, men antall tegn er forskjellig hver uke. Denne uken totalt kan være 4 tegn med en etterfølgende G, neste uke kan det bare være 3. Hvilke verktøy kan jeg bruke til å fjerne 'G' og lagre bare nummeret tilbake til variable? Jeg tror hvis jeg kunne gjøre det passert dette trinnet kunne jeg regne det aritmetiske del ut. Takk. |
|
||||
|
Som gjorde utslaget! Jeg har lagt til sed kommandoen til enden av rørledningen Jeg brukte å samle dataene. Så mitt rørledning ser slik ut: Code:
df -h | grep <search string> | tail -1 | awk '{ print $2 }' | sed 's/\(.*\)./\1/'
Som leverer akkurat det jeg hadde i tankene. Takk!
|
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|