The UNIX and Linux Forums  

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 10-27-2008
h3llh0l3 h3llh0l3 is offline
Registrierte Nutzer
  
 

Join Date: Oct 2008
Beiträge: 9
Ist es möglich mit sed oder awk?

Hi all,

Ich bin tring ein Skript zu schreiben, die Lesen Sie die erste Zeile der Datei und einige Aufgabe. Sobald die Aufgabe abgeschlossen ist die nächste Zeile der Datei sollte die Aufgabe ausgeführt werden soll.
So ist es möglich, einen Zähler etwas, in sed oder awk, die Erhöhung und damit dazu führen, dass der nächste Zeile zu lesen?
Im Anschluss ist, wie ich dachte, zu tun, aber es funktioniert nicht, wie ich kann nicht den Wert bis zu $ C, um eine Zeile zu lesen:


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

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

Join Date: Nov 2007
Lage: 45.48-73.63
Posts: 1441
Basic Scripting-Konzept:

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

  #3 (permalink)  
Old 10-27-2008
h3llh0l3 h3llh0l3 is offline
Registrierte Nutzer
  
 

Join Date: Oct 2008
Beiträge: 9
Vielen Dank für die Antwort danmero.

Ich hatte versucht, die früheren. Wenn das Skript liest somelog.log durch und erreicht EOF es beendet wird. Aber ich möchte nicht, dass es zu beenden. Wenn die EOF erreicht ist das Skript warten soll, bis neue Zeile wird in somelog.log und dann die Aufgabe. Auch das neue zu somelog.log hinzugefügt werden in unregelmäßigen Abständen.

Alle Vorschläge, wie man das Skript warten, wenn sie nicht mehr verlassen und wenn die neue Zeile wird?

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

Join Date: Jun 2003
Ort: Schottland
Beiträge: 431
Sie können tail-f die Log-und analysieren, die durch das Skript.

Sollte .... alternative Methode ist zu merken, wo Sie in der Datei (Linie zählen) und dann führen Sie Ihr Skript in Intervallen ab, wo Sie aufgehört haben - nur sorgfältigen Umgang logrotates
  #5 (permalink)  
Old 10-27-2008
h3llh0l3 h3llh0l3 is offline
Registrierte Nutzer
  
 

Join Date: Oct 2008
Beiträge: 9
Zitat:
Zitat von Tytalus View Post
Sie können tail-f die Log-und analysieren, die durch das Skript.

Sollte .... alternative Methode ist zu merken, wo Sie in der Datei (Linie zählen) und dann führen Sie Ihr Skript in Intervallen ab, wo Sie aufgehört haben - nur sorgfältigen Umgang logrotates
Wenn ich tail-f die Log-und analysieren sie durch das Skript, wenn eine neue Zeile wird in der Log das Skript beendet.
Ich habe nicht versucht, den alternativen Schritt noch, wie ich bin nicht mit logrotates.
Gäbe es eine andere Art und Weise, dies zu tun?

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

Join Date: Jun 2003
Ort: Schottland
Beiträge: 431
hmm - versuchen Sie so etwas wie:


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

infile wurde, wo eine leere Datei, und ich habe einfach:


Code:
#  echo hello >> infile
#  echo world >> infile

  #7 (permalink)  
Old 10-28-2008
h3llh0l3 h3llh0l3 is offline
Registrierte Nutzer
  
 

Join Date: Oct 2008
Beiträge: 9
Vielen Dank für die Antwort tytalus.

Ich denke, das würde nicht funktionieren für mich wie mein Skript enthält 10 Logik darin. So habe ich einen anderen Weg und mit Hilfe von crontab und LS und bewegen Sie die Dateien um, sobald die Aufgabe ist mehr als ich es, den Job zu erledigen. Aber es wäre schön gewesen und einfacher, wenn ich nur einen Weg herauszufinden, dies zu tun, wie ich wollte. Dennoch werde ich weiterhin lesen und sehen, ob ich es tun kann, die Art, wie ich wollte, es zu tun.

Nochmals vielen Dank.
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 12:05 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0