The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Rimuovere spazi dopo un delimitatore kiran_418 UNIX for Dummies Domande & Risposte 1 04-29-2008 03:19 PM
Come rimuovere spazi mahek_bedi UNIX for Dummies Domande & Risposte 2 08-10-2007 08:21 AM
rimuovere trailing newline caratteri shweta_d Shell scripting e di programmazione 7 06-05-2007 10:29 AM
trailing interrogativo nel nome file devoetfd UNIX for Dummies Domande & Risposte 3 06-09-2006 11:45 AM
Principale e spazi sleepster Shell scripting e di programmazione 7 10-29-2003 11:48 PM

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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 04-14-2008
Heathe_Kyle Heathe_Kyle is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2006
Interventi: 15
Rimuovere trailing G

Ciao, sto cercando di scrivere uno script che calcola la quantità di dati rimanenti in un volume di stoccaggio. Io corro Tru64 Unix versione 5.1B patch kit 6. Lo script è stato eseguito nei confronti di un AdvFS dominio. Sono in programmazione Korn Shell versione M-11/16/88f.

L'idea di base è che voglio eseguire df-h e grep per il dominio in questione. Ho poi il tubo di uscita che in awk per estrarre i due campi che voglio e memorizzare in variabili. Ho fatto fino a questo punto con il mio script.

Così ora ho due variabili: totale e rimanenti. Entrambi i titolari di un numero seguito dalla lettera G (per gigabyte).

Voglio eliminare il trailing G e poi prendere la 2 numeri che sono a sinistra e stampare la differenza. What I'm stumped è su come rimuovere il trailing 'G'.

So che in sed, Ho potuto fare qualcosa di simile:

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

per rimuovere il trailing G, ma a mia conoscenza, non si può passare una variabile di shell in sed, Quindi non credo che il lavoro segue:

totale \u003d `sed 's / $ (totale) $ / / g' `

Quindi ora il mio programma ha 2 variabili che sia in possesso di un numero seguito immediatamente dalla lettera G. So che probabilmente potrebbe ridurre l'uso, ma il numero di caratteri è diverso ogni settimana. Questa settimana, totale potrebbe essere di 4 caratteri con una G, la prossima settimana potrebbe essere solo 3. Quali strumenti posso utilizzare per eliminare il 'G' e salvare solo il numero nella variabile? Penso che se mi potrebbe rendere superato questa fase ho potuto cifra aritmetica parte fuori.

Grazie.
  #2 (permalink)  
Old 04-14-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2007
Messaggi: 4.346
È possibile rimuovere il carattere di traino come segue:


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

Saluti
  #3 (permalink)  
Old 04-14-2008
Heathe_Kyle Heathe_Kyle is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2006
Interventi: 15
Che ha fatto il trucco! Ho aggiunto il sed comando fino alla fine della conduttura usavo per raccogliere i dati. Quindi il mio gasdotto sarà così:


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

Che fornisce esattamente quello che avevo in mente. Grazie!

  #4 (permalink)  
Old 04-14-2008
aigles's Avatar
Aigles aigles is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: aprile 2004
Località: Bordeaux, Francia
Messaggi: 1.433
Per il sed comando si può anche fare:

Codice:
sed 's/.$//'

È possibile combinare grep | coda | awk |sed conduttura in uno comando:

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

Jean-Pierre.
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 04:52 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0