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.

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 10-27-2008
h3llh0l3 h3llh0l3 is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2008
Interventi: 9
E 'possibile con sed o awk?

Ciao a tutti,

Sono Tring scrivere uno script che dovrebbe leggere la prima riga del file ed eseguire alcuni compiti. Una volta che il compito è completato la riga successiva del file deve essere letto il compito deve essere eseguito.
Quindi è possibile avere un contatore tipo di cose, in sed o awk, che l'incremento e quindi causare la prossima linea da leggere?
In seguito è come ho pensato di farlo, ma non funziona come non posso assegnare il valore di $ C per arrivare a leggere una riga:


Codice:
C=1 #counter
while true
do
 LOG=`sed '$C!d' /var/log/somelog.log`
 #
 perform the task on $LOG
 #
 C=`expr $C + 1`
done

Grazie
  #2 (permalink)  
Old 10-27-2008
danmero danmero is offline Forum Advisor  
  
 

Iscriviti Data: novembre 2007
Ubicazione: 45,48-73,63
Messaggi: 1.439
Basic Scripting concetto:

Codice:
while read line
do
  #perform the task on "$line"
done < /var/log/somelog.log

  #3 (permalink)  
Old 10-27-2008
h3llh0l3 h3llh0l3 is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2008
Interventi: 9
Grazie per la risposta danmero.

Che avevo provato in precedenza. Quando si legge il copione attraverso somelog.log e raggiunge EOF esce. Ma io non ne vogliono sapere di uscire. Se il EOF è raggiunto lo script dovrebbe attendere fino nuova linea, è aggiunto somelog.log e quindi eseguire il compito. Anche il nuovo pacchetto di somelog.log sarebbe aggiunto a intervalli casuali.

Eventuali suggerimenti su come avere lo script in cui ha smesso di aspettare, piuttosto che uscire e continuare quando la nuova linea è aggiunto?

Grazie.
  #4 (permalink)  
Old 10-27-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Iscriviti Data: giugno 2003
Localizzazione: Scozia
Interventi: 431
si potrebbe tail-f analizzare il log e che, attraverso lo script.

Dovrebbe funzionare .... metodo alternativo è quello di ricordare dove hai nel file (linea contare) e quindi eseguire lo script a intervalli di partenza dove si è spento - solo essere un trattamento accurato logrotates
  #5 (permalink)  
Old 10-27-2008
h3llh0l3 h3llh0l3 is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2008
Interventi: 9
Citazione:
Originalmente inviato da Tytalus View Post
si potrebbe tail-f analizzare il log e che, attraverso lo script.

Dovrebbe funzionare .... metodo alternativo è quello di ricordare dove hai nel file (linea contare) e quindi eseguire lo script a intervalli di partenza dove si è spento - solo essere un trattamento accurato logrotates
Se tail-f log e analizzare attraverso lo script di una nuova linea, è aggiunto il log lo script esce.
Non ho provato l'alternativa passo ancora come me non ha dimestichezza con logrotates.
Sarebbe altro modo per farlo?

Grazie.
  #6 (permalink)  
Old 10-28-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Iscriviti Data: giugno 2003
Localizzazione: Scozia
Interventi: 431
hmm - provare qualcosa di simile:


Codice:
#  tail -f infile | while read line; do echo $line | tr "[a-z]" "[A-Z]"; done
HELLO
WORLD

infile dove è stato un file vuoto, e mi ha semplicemente:


Codice:
#  echo hello >> infile
#  echo world >> infile

  #7 (permalink)  
Old 10-28-2008
h3llh0l3 h3llh0l3 is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2008
Interventi: 9
Grazie per la risposta tytalus.

Penso che questo non avrebbe funzionato per me come il mio script contiene 10 logiche in essa. Così ho preso un altro percorso e l'utilizzo di cron e ls e spostare il file di circa una volta che il lavoro è finito mi sono a fare il lavoro. Ma sarebbe stato più facile e bello se potessi capire solo un modo per fare questo, come ho voluto. Ancora non mi stancherò mai di leggere e vedere se posso fare il modo in cui volevo farlo.

Grazie ancora.
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 è 08:42 AM.


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