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
Assegnazione di valori di un array tramite per / ciclo while fiori_musicali Shell scripting e di programmazione 2 11-24-2008 11:01 PM
Assegnazione di valori di un array kkraja Shell scripting e di programmazione 1 08-11-2008 07:28 AM
stringa di manipolare psalas UNIX for Dummies Domande & Risposte 9 04-15-2008 11:00 AM
l'assegnazione di valori a una variabile trichyselva UNIX for Dummies Domande & Risposte 3 12-14-2007 01:55 AM
Assegnazione di valori di un array yongho UNIX for Dummies Domande & Risposte 4 07-13-2005 09:49 PM

Reply
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 06-15-2009
Anteus Anteus is offline
Utente Registrato
  
 

Iscriviti Data: giugno 2009
Interventi: 54
retreiving e l'assegnazione di valori e la manipolazione stringa in un ciclo for

Salve

Sono nuovo di shell scripting e sto preparando uno script.
per ora sono i lavori su una parte di esso sotto .. ma non sono in grado di farla funzionare.

---
il codice di prova che sto lavorando su
--------------------------
IFS \u003d ""
Sample_eve \u003d `PSG proc_s | grep TY`
n \u003d 0
per la linea in $ Sample_eve
fare
n \u003d `expr $ n + 1`
Sam $ n \u003d $ ( `echo $ line | awk-F" "(print $ 5) '| awk-F": "' (print $ 2) '`)
echo $ $ n Sam
fatto
----------------------------
quello che sto cercando di questo è ..
elenco di tutti i processi di nome proc_s che sono attualmente in esecuzione e sulla macchina TY ..
popolano la variabile in Sample_eve.
e di accedere quindi a ogni riga del Sample_eve e di processo su base individuale.
ma non è successo per il ciclo .. solo una volta che passa attraverso i .. se non si imposta IFS \u003d "" poi la linea prende parola per parola i dati provenienti dalla $ Sample_eve ... da cui non riesco separata ora di inizio per ogni processo. (corre 35 volte per 4 linee .. voglio farlo girare solo 4 volte per 4 righe).

Sto facendo `echo $ line | awk-F" "(print $ 5) '| awk-F": "' (print $ 2) '` .. al fine di ottenere l'ora di inizio di ogni processo di minuti .. poi i Sono assegnando in array Sam, al fine di ottenere l'avvio di ogni processo verbale.
ma ricevo un errore in uscita di questo tipo ..
per questa serie, come l'assegnazione di prova [9]: 04 ^ J28 ^ J04 ^ J09: non trovato.
04, 28,04,09 sono visualizzati correttamente sono i minuti .. ma non in modo adeguato.

Sono bloccato con questa cosa .. please help me. Sono in grado di rendere il codice di lavoro.

Sto usando la Korn shell.
grazie
  #2 (permalink)  
Old 06-15-2009
rakeshawasthi rakeshawasthi is offline
Utente Registrato
  
 

Join Date: Aug 2004
Località: India
Messaggi: 379
Citazione:
Originalmente inviato da Anteus View Post
Sam $ n \u003d $ ( `echo $ line | awk-F" "(print $ 5) '| awk-F": "' (print $ 2) '`)
Non si può fare così ... $ Non deve venire sul lato sinistro.
Questo lavoro ...

Codice:
Sam=`echo $line |awk -F" " {print $5}' |awk -F":" '{print $2}'`

  #3 (permalink)  
Old 06-15-2009
Anteus Anteus is offline
Utente Registrato
  
 

Iscriviti Data: giugno 2009
Interventi: 54
Citazione:
Originalmente inviato da rakeshawasthi View Post
Non si può fare così ... $ Non deve venire sul lato sinistro.
Questo lavoro ...

Codice:
Sam=`echo $line |awk -F" " {print $5}' |awk -F":" '{print $2}'`


-----------

Ciao, grazie .. il codice che ha lavorato.

ulteriormente durante l'accesso, ma l'array Sam. Sto avendo alcuni problemi.

1: Quando i echo $ (Sam [$ 2]), piuttosto che dare il 2 ° elemento stampa di tutti i loro

2: per la ((i \u003d 0; i <$ (# Sam [@]); i + +))
fare
echo $ (Sam [$ i])
fatto
il suo lancio di un errore
Test [16]: errore di sintassi alla riga 17: «(( 'inatteso

ti dico come andare su come accedere alla matrice ..
  #4 (permalink)  
Old 06-15-2009
rakeshawasthi rakeshawasthi is offline
Utente Registrato
  
 

Join Date: Aug 2004
Località: India
Messaggi: 379
Citazione:
Originalmente inviato da Anteus View Post
-----------

Ciao, grazie .. il codice che ha lavorato.

ulteriormente durante l'accesso, ma l'array Sam. Sto avendo alcuni problemi.

1: Quando i echo $ (Sam [$ 2]), piuttosto che dare il 2 ° elemento stampa di tutti i loro

2: per ((i \u003d 0; i <$ (# Sam [@]); i + +))
fare
echo $ (Sam [$ i])
fatto
il suo lancio di un errore
Test [16]: errore di sintassi alla riga 17: «(( 'inatteso

ti dico come andare su come accedere alla matrice ..
Non siamo in grado di scrivere un ciclo for come questo, a meno che non si sta utilizzando awk.
Io dò un esempio di array e ciclo for per voi ...

Codice:
set -A _Array 1 2 3 4 5
for i in ${_Array[@]}
do
   echo $i
done

  #5 (permalink)  
Old 06-15-2009
Anteus Anteus is offline
Utente Registrato
  
 

Iscriviti Data: giugno 2009
Interventi: 54
Citazione:
Originalmente inviato da rakeshawasthi View Post
Non siamo in grado di scrivere un ciclo for come questo, a meno che non si sta utilizzando awk.
Io dò un esempio di array e ciclo for per voi ...

Codice:
set -A _Array 1 2 3 4 5
for i in ${_Array[@]}
do
   echo $i
done

Yeah. ma cosa fare se solo il secondo elemento della matrice Sam deve essere eco ..

e perché non echo $ (Sam [$ 2]) stampe l'intero array Sam?
  #6 (permalink)  
Old 06-15-2009
rakeshawasthi rakeshawasthi is offline
Utente Registrato
  
 

Join Date: Aug 2004
Località: India
Messaggi: 379
in questo modo ...

Codice:
echo ${_Array[1]}

  #7 (permalink)  
Old 06-15-2009
Anteus Anteus is offline
Utente Registrato
  
 

Iscriviti Data: giugno 2009
Interventi: 54
Citazione:
Originalmente inviato da rakeshawasthi View Post
in questo modo ...

Codice:
echo ${_Array[1]}

Provato .. ma la sua non stampa niente ... e qualsiasi altro modo per farlo conoscere.

il codice di prova è

IFS \u003d ""
vigilia \u003d `PSG ftp | grep TV»
n \u003d 0
per la linea in $ vigilia
fare
n \u003d `expr $ n + 1`
echo $ riga
array \u003d `echo $ line | awk-F" " '(print $ 5)' | awk-F": " '(print $ 2)'`
echo $ (array [2])
fatto
Reply

Segnalibri

Tag
awk, tagliare, per ogni, per il ciclo

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 è 11:11 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