Der unkomplizierte Find-Ersatz Fd stöbert auf Zuruf im Nu verschollene Schätze im Dateisystem auf. So ein Tool würde Charly nur zu gern in der analogen Welt auf sein Arbeitszimmer ansetzen.
Ich bin nicht besonders gut darin, Dinge sinnvoll irgendwohin zu sortieren und dann wiederzufinden – sowohl in meinem Arbeitszimmer als auch in den Dateisystemen meiner Rechner. Zumindest bei Letzteren habe ich elektronische Hilfe in Form von Tools wie Find und neuerdings Fd.
Das Kommando »find« gab es schon lange vor Linux auf Unix-Systemen; es ist älter als die meisten Menschen, die es benutzen. Auf vielen meiner Systeme gibt es ein Verzeichnis namens »/test«, in dem ich Dinge ausprobiere. Was sich als nützlich erweist, wandert ins Git; der Rest schimmelt herum, bis der Cronjob aus Listing 1 ihn nach 365 Tagen ohne Schreibzugriff wegfegt.
Listing 1
Crontab-Eintrag
find /test/* -mtime +365 -exec rm {} \;
Angesichts der inzwischen beeindruckenden Mächtigkeit der GNU-Implementation von Find [1] wünscht man sich manchmal ein Tool, das vielleicht etwas weniger kann, sich aber intuitiver bedienen lässt. Hier springt Fd [2] in die Bresche: Das kompakte junge Geschwisterchen von Find ist schon in vielen Distributionen angekommen, aber oft noch nicht lange. In Ubuntu steht es ab der Version 19.04 zur Verfügung.
Nach der Installation auf meinem Test-Ubuntu bin ich um das Kommando »fdfind« reicher. Die Entwickler lassen aber keinen Zweifel, dass ihr Tool den Namen Fd trägt, und benutzen diesen auch in allen Beispielen. Um meinem System die Kurzform dauerhaft beizubringen, genügt der Eintrag »alias fd=fdfind« in der ».bashrc«.
Ein Blick in die Manpage zeigt: Fd kann in der Tat weniger als Find, aber was es macht, erledigt es gut, intuitiv und schnell. Ein »fd« ohne weitere Parameter liefert den Inhalt des aktuellen Verzeichnisses samt aller Unterordner, jedoch ohne versteckte Dateien und Verzeichnisse – wie »ls«, aber rekursiv. Sofern die Umgebungsvariable »LS_COLOR« gesetzt ist (bei den meisten Systemen Standard), erstrahlt die Ausgabe in Farbe.
Interessanter wird es bei der Suche nach einem Dateinamen oder Namensbestandteil. In Abbildung 1 habe ich Fd aus dem Wurzelverzeichnis »\« nach »rng« suchen lassen. Wie Sie sehen, findet es dabei auch die Datei »PatternGrammar.txt« (ganz unten). Das liegt daran, dass Fd standardmäßig die Schreibweise ignoriert. Taucht in meinem Suchbegriff aber ein Großbuchstabe auf, schaltet es sein Verhalten um und liefert nur noch schreibweisenabhängige Ergebnisse.

Abbildung 1: Ohne konkrete Anweisung schert sich Fd nicht um Schreibweisen, beherrscht bei Bedarf aber sogar Regexe.
Nach Dateierweiterungen suche ich mit dem Parameter »-e«. Alle PNG-Bilder in und unterhalb des aktuellen Verzeichnisses finde ich also mit »fd -e png«. Für den Feinschliff greife ich zur Suche mit regulären Ausdrücken. So findet das Kommando »fd ‘^a.*png$’« Dateinamen, die mit »a« anfangen und mit »png« aufhören. Die Github-Seite des Tools erklärt viele weitere Anwendungsmöglichkeiten und Parameter.
Jetzt brauche ich eigentlich nur noch ein physisches Fd-Analogon für mein Arbeitszimmer… (jlu)





