Hallo,
Da ich aus anderen Threads weiß, das hier noch andere User den dynamischen window manager nutzen, wollt ich mal fragen
was ihr euch so in der Statuszeile anzeigen lässt.
Ich suche z.B. noch nach einer Möglichkeit mich über eingegangene Nachrichten in Centericq oder alternativ auch in Irssi/Bitlbee oder einen anderen Messenger zu informieren.
Hat sich da schon jemand was ausgedacht? So auf die schnelle würde mir einfallen sämtliche Gespräche mitzuloggen und dann über die Zeilenanzahl rückschlüsse darauf zu ziehen ob jemand geschrieben hat....
Gibt aber bestimmt noch optimalere Lösungen, wenn ja -> her damit
edit: Kann das mal jemand nach Graphische Oberflächen verschieben? Ich denke das passt besser...
letzte Zeile in Textdatei bei Neueintrag ausgeben
letzte Zeile in Textdatei bei Neueintrag ausgeben
Zuletzt geändert von nihilist am 14.05.2007 20:41:05, insgesamt 1-mal geändert.
um das ganze noch ein bischen zu konkretisieren:
Ich suche im Prinzip nur nach einer Möglichkeit änderungen im log von centericq
zu bemerken.
Ich habe mir das so vorgestellt:
Leider habe ich keine Ahnung von bash-scripten. Kann mir da mal jemand auf
die Sprünge helfen?
Es müsste doch möglich sein die Zeilenanzahl des Logs zu speichern, und sobald eine neue hinzu
kommt wird das zum alten Wert und die Meldung wird ausgegeben.
edit: jetzt würde das Thema wohl eher in Scripting passen
Ich suche im Prinzip nur nach einer Möglichkeit änderungen im log von centericq
zu bemerken.
Ich habe mir das so vorgestellt:
Code: Alles auswählen
#!/bin/bash
LOG=$(cat /home/nihilist/.centericq/log | wc -l)
.....
if [LOGneu>LOGalt]; then
echo "Neue Nachricht"
else
echo "Keine neuen Nachrichten"
die Sprünge helfen?
Es müsste doch möglich sein die Zeilenanzahl des Logs zu speichern, und sobald eine neue hinzu
kommt wird das zum alten Wert und die Meldung wird ausgegeben.
edit: jetzt würde das Thema wohl eher in Scripting passen
ok, werde ich nachfragen.
Aber im Prinzip suche ich jetzt nur noch nach einer Möglichkeit, eine Textdatei dann
auszugeben sobald eine neue Zeile angehängt wird...
Da muss es doch was einfaches geben?
Das ganze würde ich dann mit dzen
http://dzen.googlecode.com/svn/trunk/README
kombinieren, und ich hätte meine Lösung.
edit: habe mal den Titel geändert, das passt jetzt besser dazu.
Aber im Prinzip suche ich jetzt nur noch nach einer Möglichkeit, eine Textdatei dann
auszugeben sobald eine neue Zeile angehängt wird...
Da muss es doch was einfaches geben?
Das ganze würde ich dann mit dzen
http://dzen.googlecode.com/svn/trunk/README
kombinieren, und ich hätte meine Lösung.
edit: habe mal den Titel geändert, das passt jetzt besser dazu.
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Vielleicht das:
Code: Alles auswählen
tail -n 0 -f /path/log
letzte Zeile in Textdatei bei Neueintrag ausgeben
Hallo,
centericq kenne ich nicht und kann dementsprechend nix dazu sagen.
Aber allgemein zur Frage und Deinen Ansatz aufgreifend:
Zunächst wird die Zeilenzahl festgestellt. Danach wird eine
Endlosschleife gestartet, die -in diesem Fall- alle 5 Sek. prüft,
ob sich die Zeilenzahl erhöht hat und dann eine Reaktion ausgelöst.
Vielleicht kannst Du das als Basis benutzen.
Gruß
Matthias
centericq kenne ich nicht und kann dementsprechend nix dazu sagen.
Aber allgemein zur Frage und Deinen Ansatz aufgreifend:
Code: Alles auswählen
#!/bin/bash
#Meldet mit einer Endlosschleife, ob sich ein neuer Eintrag
#im log befindet.
LOG=$(cat /var/log/messages | wc -l)
while true; do
sleep 5
NEWLOG=$(cat /var/log/messages | wc -l)
if [ ${NEWLOG} -gt ${LOG} ] ; then
echo "Es hat sich im log was getan... "
LOG=$NEWLOG
fi
done
Endlosschleife gestartet, die -in diesem Fall- alle 5 Sek. prüft,
ob sich die Zeilenzahl erhöht hat und dann eine Reaktion ausgelöst.
Vielleicht kannst Du das als Basis benutzen.
Gruß
Matthias