The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Ta bort blanksteg efter en avgränsare kiran_418 UNIX for Dummies Frågor & Svar 1 04-29-2008 03:19
Ta bort blanksteg mahek_bedi UNIX for Dummies Frågor & Svar 2 08-10-2007 08:21
bort trailing newline tecken shweta_d Shell-programmering och Skript 7 06-05-2007 10:29
avslutande frågetecknet i filnamn devoetfd UNIX for Dummies Frågor & Svar 3 06-09-2006 11:45
Ledande och blanksteg sleepster Shell-programmering och Skript 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 denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 04-14-2008
Heathe_Kyle Heathe_Kyle is offline
Registered User
  
 

Join Date: oktober 2006
Inlägg: 15
Bort efterföljande G

Hej, jag försöker skriva ett skript som beräknar mängden data som finns kvar i ett lager volym. Jag kör Tru64 Unix-version 5.1b lapp kit 6. Skriptet drivs mot en AdvFS domän. Jag programmering i Korn Shell version M-11/16/88f.

Den grundläggande tanken är att jag vill köra df-h och grep för domänen i fråga. Jag rör då att produktionen i awk för att extrahera de två områden som jag vill och lagra dem i variabler. Jag har gjort så här långt med mitt manus.

Så nu har jag två variabler: totalt och Återstående. Både hålla ett tal följt av bokstaven G (för gigabyte).

Jag vill ta bort den efterföljande G och sedan ta 2 nummer som är kvar och skriver ut skillnaden. Vad jag illa om är hur man tar bort den avslutande "G".

Jag vet att i sedKunde jag göra något liknande:

new_variable \u003d `sed 's / [0-9] .* G $ / / g' `

att ta bort efterföljande G, men jag vet att du inte kan passera ett skal variabel i sed, Så jag tror inte det följande skulle fungera:

total \u003d `sed 's / $ (totalt) $ / / g' `

Så nu mitt program har 2 variabler som båda innehar ett antal omedelbart följt av bokstaven G. Jag vet att jag förmodligen skulle kunna använda minska, men antalet tecken skiljer sig varje vecka. Denna vecka totalt kan vara 4 tecken med en avslutande G, nästa vecka kan det bara bli 3. Vilka redskap kan jag använda för att ta bort "G" och spara bara antalet tillbaka i variabeln? Jag tror att om jag kunde göra det passerade detta steg jag kunde lista det aritmetiska del ut.

Tack.
  #2 (permalänk)  
Old 04-14-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: februari 2007
Inlägg: 4.342
Du kan ta bort den avslutande karaktär som följer:


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

Hälsningar
  #3 (permalänk)  
Old 04-14-2008
Heathe_Kyle Heathe_Kyle is offline
Registered User
  
 

Join Date: oktober 2006
Inlägg: 15
Det gjorde susen! Jag har lagt till sed kommandot till slutet av rörledningen jag använde för att samla in data. Så min pipeline ut:


Kod:
df -h | grep <search string> | tail -1 | awk '{ print $2 }' | sed 's/\(.*\)./\1/'

Som levererar precis vad jag hade i åtanke. Tack!

  #4 (permalänk)  
Old 04-14-2008
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registered User
  
 

Join Date: april 2004
Ort: Bordeaux, Frankrike
Inlägg: 1.433
sed kommandot kan du också göra:

Kod:
sed 's/.$//'

Du kan kombinera grep | tail | awk |sed pipeline till ett awk kommando:

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

Jean-Pierre.
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 09:19.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0