Moin moin,
ich wollte mal fragen, ob und wie das möglich wäre, ich gebe z.B. ein:
tail -f /test/logs/fehler.log /test2/log/irgendwas.log /var/log/*
Ich will aber vom /var/log nicht ALLES haben, sondern würde jetzt gerne sagen wir mal die kern.log und die user.log darin ausschließen wollen. Geht das irgendwie?
Klar kann ich jede einzelne Datei in /var/log/blabla.log einzeln auflisten, aber das will ich ja nicht. Nehmen wir sogar als Extrembeispiel, dass ich in einem Verzeichnis 1000 Dateien auflisten möchte, aber davon eben 3 bestimmte NICHT.
Kann man so etwas, evtl. mit Regex in der Kommandozeile mit dem Befehl kombinieren? Wie macht man das?
In einer Menge/Aufzählung, etwas ausschließen (EXCEPT)
- pangu
- Beiträge: 1400
- Registriert: 15.11.2011 20:50:52
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: /proc/1
In einer Menge/Aufzählung, etwas ausschließen (EXCEPT)
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.
Re: In einer Menge/Aufzählung, etwas ausschließen (EXCEPT)
Leider bekomme ich es nicht hin als [FILE]-Parameter einen regulären Ausdruck zu übergeben. Somit kann man es vielleicht so versuchen. Das "| strings" habe ich angefügt, da bei mir die Sonderzeichen in einigen Logdateien die Konsole zerhauen.
Die Dateien mit nicht darstellbaren Zeichen kannst du so ermitteln:
Irgendwie gab es wohl eine tail-Version, die mehrere Dateien parallel verwalten konnte. Aber das war ja nicht die Frage.
Code: Alles auswählen
tail -f `ls |grep "[^kernel|user].log$"` |strings
Code: Alles auswählen
file `ls |grep "[^kernel|user].log$"`
Re: In einer Menge/Aufzählung, etwas ausschließen (EXCEPT)
Mit der zsh in /var/log/:
Ruft tail -f für alle .log Dateien auf, die nicht mit "Xorg." oder "alternatives" anfangen.
EDIT::
Außerhalb von /var/log/ ist es dann:
EDIT2::
Falls dann noch Verzeichnisse drin sind, die auf .log enden, die man aber auch nicht drin haben möchte:
Code: Alles auswählen
tail -f *.log~(Xorg.|alternatives)*
EDIT::
Außerhalb von /var/log/ ist es dann:
Code: Alles auswählen
tail -f /var/log/*.log~/var/log/(Xorg|alternatives)*
Falls dann noch Verzeichnisse drin sind, die auf .log enden, die man aber auch nicht drin haben möchte:
Code: Alles auswählen
tail -f /var/log/*.log~/var/log/(Xorg|alternatives)*(.)
- pangu
- Beiträge: 1400
- Registriert: 15.11.2011 20:50:52
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: /proc/1
Re: In einer Menge/Aufzählung, etwas ausschließen (EXCEPT)
@uname: funzt leider nicht :/
@Liffi: und wie würde ich das in der BASH machen? gibt's da auch 'ne Möglichkeit?
@Liffi: und wie würde ich das in der BASH machen? gibt's da auch 'ne Möglichkeit?
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.
Re: In einer Menge/Aufzählung, etwas ausschließen (EXCEPT)
Mit extglob vielleicht, aber ich kenne mich nicht soo sehr mit der Bash aus.pangu hat geschrieben: @Liffi: und wie würde ich das in der BASH machen? gibt's da auch 'ne Möglichkeit?
Code: Alles auswählen
ls /var/log/!(Xorg*|alternatives*).log
EDIT:: Aber Vorsicht:
Die Bash wertet Metazeichen manchmal je nach LANG komisch aus:
viewtopic.php?f=29&t=134306&p=867343#p867343