Fuzzy sucht Files

  Ralf Hersel   Lesezeit: 3 Minuten  🗪 2 Kommentare

Das Werkzeug fzf bietet eine interaktive Dateisuche im Terminal.

fuzzy sucht files

Wer im Terminal nach Dateien sucht, kann die Standardbefehle find oder locate verwenden (auf manchen Systemen ist locate nicht vorinstalliert). Find sucht in Echtzeit nach Dateien und erlaubt den Einsatz vieler Parameter, um Dateien aufgrund ihres Namens, ihrer Grösse, ihres Besitzers, des Änderungsdatums und anderer Optionen zu finden. Demgegenüber sucht locate nicht direkt auf dem Massenspeicher, sondern in einer Datenbank, und zwar nur über den Dateinamen. Beide Suchmethoden haben ihr Vor- und Nachteile, was aber nicht Gegenstand dieses Artikels ist.

Weder find noch locate sind interaktiv: Man startet die Suche und wartet auf das Ergebnis. Anders verhält sich die "fuzzy" Suche mit dem Werkzeug fzf. Nach dem Start von fzf kann man interaktiv den Suchbegriff eingeben und erhält währenddessen passende Suchergebnisse. Vor der Anwendung muss diese installiert werden; sie ist in den gängigen Repositories enthalten, z. B. mit apt install fzf.

Nach der Installation öffnet man ein Terminal, startet fzf und schreibt einen beliebigen Suchtext.

Daraufhin zeigt fzf alle Fundstellen an, markiert darin den Suchtext und zählt die Treffer aus der Gesamtmenge. Diesen Vorgang kann man interaktiv fortführen: mehr schreiben; Zeichen löschen. Mit den Cursortasten (hoch/runter) kann man in den Suchergebnissen navigieren und mit Enter einen Pfad auswählen. Dieser wird angezeigt, es wird aber nicht in das Verzeichnis gesprungen. Wer das möchte, kann diesen Befehl (alias) verwenden:

cd $(find /home/$USER -type d | fzf)

Wie ihr seht, ist das nicht der Einsatzzweck von fzf, sondern die reine Suche. Wer eine Lösung für schnellen Verzeichniswechsel sucht, findet sie in diesem Artikel.

Um fzf flexibel einzusetzen, kann man das Werkzeug mit anderen Befehlen kombinieren, z. B. eine Suche in der History starten: history | fzf

.. oder eine Baumdarstellung wählen (erfordert die Installation des Befehls tree):

Wer alle Optionen und Einsatzmöglichkeiten von fzf sehen möchte, findet auf der Projektseite eine ausführliche Dokumentation mit Anwendungsbeispielen:

Quelle: https://github.com/junegunn/fzf

Tags

Suche, Dateisuche, interaktiv, Terminal

Data
Geschrieben von Data am 15. Juni 2023 um 16:45

Passend dazu gibt es noch eine Anwendung bzw einen Workflow https://gnulinux.ch/mein-youtube-terminal-workflow

this.ven
Geschrieben von this.ven am 20. Juni 2023 um 07:43

Hey, danke für diesen Beitrag. Das ist eine super Ergänzung zu find und locate. Ich werde fzf mal ausprobieren und gucken wie ich es in meine Arbeit auf der Konsole integriere.