![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
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 |
|
||||
|
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. |
|
||||
|
Zitat:
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. |
|
|||||
|
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 |
|
||||
|
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. |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|