fd: Ersatz für Find und Schleifen

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

Das kleine Tool fd kann in vielen Fällen den find-Befehl ersetzen und lässt sich einfacher verwenden.

Ab und zu kommt jemand auf die Idee, eine Alternative zu den klassischen Unix-Tools zu erfinden. Zwei Beispiele dafür, die wir bereits vorgestellt haben, sind "ack", das einige Features bietet, die "grep" nicht kennt, oder "cuts", das in vielen Fällen einfacher zu verwenden ist als "cut" oder "awk".

Ein relativ neues Tool namens "fd" will eine Alternative zu "find" sein. Es geht davon aus, dass der häufigste Anwendungsfall ist, nach einem Dateinamen zu suchen und bietet deshalb diesen Fall als Default. Statt "find -iname ...", sucht "fd" einfach so nach einer Datei oder einem Verzeichnis und ignoriert dabei Groß- und Kleinschreibung:

fd name

Die Ausgabe unterlegt es dabei farblich. Per Default ignoriert es sogenannte "versteckte" Dateien (mit führendem Punkt) und Namensmuster, die in der Datei ".gitignore" im aktuellen Verzeichnis aufgeführt sind. Abschalten lässt sich dieses Verhalten mit "--hidden" und "--no-ignore". Groß- und Kleinschreibung beachtet "fd" automatisch, wenn im gesuchten Muster ein Großbuchstabe vorkommen ("smart-case"). Nach File-Extensions sucht "fd" mit dem Schalter "-e".

Da "fd" in der compilierten Programmiersprache Rust geschrieben ist, ist es nicht langsamer als "find", sondern liegt in den Benchmarks des Programmautors sogar vorne.

Über die Grundfunktionen hinaus bietet "fd" auch noch einen Ausführungsmechanismus ähnlich wie GNU Parallel. Dazu muss es mit dem Schalter "-x" aufgerufen werden. So entpackt der folgende Aufruf alle gefundenen Zip-Dateien:

fd -e zip -x unzip 

Dieses Kommand konvertiert alle JPG-Dateien in PNGs:

fd -e jpg -x convert {} {.}.png

Binaries des Tools sind auf der Github-Seite für Windows, Linux und macOS zu finden. Darüber hinaus gibt es auch Pakete für zahlreiche weitere Systeme wie Arch Linux, NixOS und FreeBSD.

17.04.2018

Ähnliche Artikel

  • 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.

  • 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: Suchen und Ersetzen in vielen Dateien

    Lang, lang ist's her, da gehörte Perl zum unverzichtbaren Werkzeug eines jeden Unix-Administrators. Viele kleine Aufgaben lassen sich damit immer noch am schnellsten erledigen.

  • 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: Suchen in Texten

    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.

comments powered by Disqus

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