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: Schneller suchen als find

    Unter Linux ist find das bewährte Tool für eine Suche nach Dateien. Es kann flexibel mit regulären Ausdrücken und verschiedenen Suchtiefen umgehen oder eine Datumsrechnung einbeziehen. Allerdings hat es einen Nachteil: Speziell bei großen Volumes ist es prinzipbedingt sehr zeitintensiv, da es immer alle Files im Dateisystem aufsuchen und vergleichen muss.

  • ADMIN-Tipp: Find-Tutorial (1)

    Mit dem Find-Befehl lassen sich Dateien und Verzeichnisse auf einem Unix-System suchen. Dieser ADMIN-Tipp stellt die wichtigsten Optionen dieses leistungsfähigen Kommandos vor.

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite