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

comments powered by Disqus
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