The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



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

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 04-14-2008
Heathe_Kyle Heathe_Kyle is offline
Registrert bruker
  
 

Bli Dato: Oct 2006
Innlegg: 15
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.
  #2 (permalink)  
Old 04-14-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4342
Du kan fjerne den etterfølgende tegn som følger:


Code:
sed 's/\(.*\)./\1/'

Hilsen
  #3 (permalink)  
Old 04-14-2008
Heathe_Kyle Heathe_Kyle is offline
Registrert bruker
  
 

Bli Dato: Oct 2006
Innlegg: 15
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!

  #4 (permalink)  
Old 04-14-2008
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: april 2004
Sted: Bordeaux, Frankrike
Innlegg: 1433
For sed kommandoen kan du også gjøre:

Code:
sed 's/.$//'

Du kan kombinere grep | hale | awk |sed rørledning til én awk kommando:

Code:
df -h| awk '/search string/ {res=$2} END { sub(/.$/,"", res); print res }'

Jean-Pierre.
Closed Thread

Hugseliste

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 02:53.


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