ADMIN-Tipp: Suchen in Texten

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Wenn man zu viel findet kommt man auch nicht weiter. Das kennt man aus dem Internet aber auch vom Unix-Kommando find . Dieser ADMIN-Tipp stellt einen doppelten Filter vor, der den anfallenden Datenmüll reduzieren kann.

Sucht man mit find nach einem Textschnipsel, erkauft man sich schnell den Nachteil, dass der String auch in binären Dateien gefunden wird: In Zip-Files, in ISO-Images, in TAR-Archiven und so weiter. Zum Beispiel:

jcb@hercules:~$ find / -type f -exec grep -l "linux" {} \;

...
/home/jcb/Downloads/Leo-4.10-final.zip
/home/jcb/Downloads/websec-1.9.0.tar
/home/jcb/Downloads/alt/rhel-server-6.2-x86_64-dvd.iso

Diese Einträge interessieren aber eigentlich nicht, wie könnte man sie ausklammern? Das klappt zum Beispiel, indem man einen weiteren Filter in Reihe schaltet:

jcb@hercules:~$ find / -type f -exec grep -l "linux" {} \; -exec file {} \; | grep text | cut -d ':' -f1

Das dauert merklich länger, denn jetzt werden für jede Fundstelle zusätzlich die Linux Kommandos file und grep ausgeführt. Dafür listet das Find-Kommando nun nur noch solche Treffer, bei denen der mit file ausgegebene MIME-Type der Fundstelle das Wort "text" enthält.  Auf diese Weise erhält man nur Ergebnisse aus reinen Textdateien und klammert alle Binärdaten aus.

25.09.2012

Ähnliche Artikel

  • ADMIN-Tipp: Find-Tutorial (2)

    Nachdem der erste Teil des Find-Tutorial die Basics des Programms erklärt hat, soll es dieses Mal darum gehen, wie man die gefundenen Dateien weiterverarbeiten kann.

  • ADMIN-Tipp: Einzeilerparade

    Gerade unter Kommandozeilenjüngern und Skript-Programmierern gelten sie als Ikonen der Effizienz: Einzeiler. Zuweilen führt das Bemühen, möglichst komplexe Funktionen mit lediglich einer Handvoll Zeichen zu steuern, zu eher skurrilen Resultaten, aber einige Shell-Einzeiler sind tatsächlich praktisch. Hier sind unsere Top Ten.

  • ADMIN-Tipp: Grep mit Grips

    Wie man mit grep wirklich nur das ausfiltert, was man haben will.

  • ADMIN-Tipp: Achtung, Umleitung

    Unix-Shells wie beispielsweise die Bash können Ein- und Ausgabeströme umleiten. Die Syntax für dieses nützliche Feature wirkt zuweilen etwas kryptisch, weswegen dieser Tipp ein Beispiel seziert.

  • ADMIN-Tipp: Mehr mit Meta

    Spezielle Tastenkombination, oft mit dem Meta-Key - per Default ist das [Alt] - entlocken der Bash nützliche Funktionen.

Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023