GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie finde ich nur ein bestimmtes Schlüsselwort in dieser Zcat-Schleife?

Das habe ich eingegeben und es wurde erwartet, dass ich nur das Protokoll des Benutzers im "" bekomme . Aber ich habe die ganzen Protokolle auf dem Server:

for i in `ls *.log.gz`; do zcat $i |  grep "U2779897722719715411" >> sara.log;  done ; *

Was muss ich in dieser Schleife ändern, um nur Protokolle mit diesem Schlüsselwort zu finden?

Danke.

Akzeptierte Antwort:

Das zgrep Der Befehl ist sehr nützlich, um komprimierte Dateien einzufügen, und vermeidet die Notwendigkeit, zcat zu pipen zu grep . Sie müssen auch nicht die for-Schleife verwenden, um eine Liste von Dateien durch Globbing (Shell-Musterabgleich) zu erstellen.

zgrep U2779897722719715411 *.log.gz >> sara.log

Dieser Befehl gibt den Dateinamen und die Zeile mit U2779897722719715411 getrennt durch einen : aus Zeichen.

Wenn Sie das Dateinamenpräfix nicht möchten, können Sie das -h verwenden Option zu zgrep :

zgrep -h U2779897722719715411 *.log.gz >> sara.log

Dies kann auch mit einer Schleife erreicht werden, aber vermeiden Sie die Verwendung von ls , und führen Sie die Umleitung zu der Datei aus, nachdem die Schleife abgeschlossen ist:

for i in *.log.gz ; do zgrep U2779897722719715411 "$i" ; done >> sara.log

Wenn Sie alternativ nur den Dateinamen von Dateien wünschen, die diese Benutzerzeichenfolge U2779897722719715411 enthalten, können Sie den -l verwenden Option zu zgrep in einem der obigen Befehle:

zgrep -l U2779897722719715411 *.log.gz >> sara.log

oder

for i in *.log.gz ; do zgrep -l U2779897722719715411 "$i" ; done >> sara.log

Ubuntu
  1. Verwenden Sie den SED-Befehl zum Suchen und Ersetzen von Zeichenfolgen in Dateien - Wie wird diese Aufgabe unter Ubuntu ausgeführt?

  2. Wie ordnet man die zu löschende Numlock-Taste neu zu?

  3. So finden Sie bestimmten Text mit GREP unter Linux

  4. Wie man nur bestimmten Nicht-Root-Benutzern erlaubt, crontab zu verwenden

  5. Wie überschleife ich Verzeichnisse in Linux?

So suchen Sie, um ein Wort im Vim- oder Vi-Texteditor zu finden

So frieren Sie Ubuntu ein, indem Sie eine Taste drücken (versuchen Sie das nicht zu Hause)

So finden Sie eine bestimmte Zeichenfolge oder ein bestimmtes Wort in Dateien und Verzeichnissen

So melden Sie sich von Ubuntu 20.04 LTS ab

So finden Sie die Ubuntu-Version

Wie melde ich mich über SSH bei meinem cPanel-Konto an?