Wer viel auf der Kommandozeile arbeitet, der kennt natürlich das Konzept der Unix-Filter. Hierbei können Sie einzelne Tools miteinander kombinieren, sodass die Ausgabe eines Tools als Eingabe des nächsten dient. Möchten Sie beispielsweise in Erfahrung bringen, wie viele Prozesse auf Ihrem System aktuell aktiv sind, kombinieren Sie hierfür die beiden Tools ps und wc mit Hilfe einer Pipe miteinander:
ps -ef | wc -l
Das gleiche Konzept lässt sich nun verwenden, um die Ausgabe von ps an das Tool fzf [1] weiterzuleiten, um den gewünschten Prozess sehr schnell mit Hilfe eines Fuzzy-Matching zu identifizieren:
ps -ef | fzf
Übergeben Sie also nun die Prozessliste an fzf, können Sie interaktiv in der Liste nach dem gewünschten Prozess suchen, indem Sie einfach anfangen, den Prozessnamen oder Teile hiervon einzutippen. Durch die Fuzzy-Suche, im Deutschen auch etwas umständlich als Unscharfe Suche [2] bezeichnet, zeigt fzf dann sämtliche Prozesse an, auf die die Suche passt. Dabei erscheinen die besten Ergebnisse natürlich zuerst in der Ergebnisliste, während weniger gute Matches weiter hinten in der Liste zu finden sind.
Haben Sie beispielsweise den Chrome-Browser installiert und tippen in der interaktiven fzf-Suche lediglich den String "oo" ein, erscheint der Prozess zwar in der Ergebnisliste, allerdings erst hinter sämtlichen "oom"-Prozessen. Starten Sie die Suche stattdessen mit dem Suchstring "goo", ist die Chance hoch, dass der Prozess direkt am Anfang der Liste steht.
Bei der Fuzzy-Suche lassen sich keine regulären Ausdrücke oder Wildcards verwenden. Stattdessen setzt fzf auf weitere Modi, die Sie nutzen können, um die Suche einzuschränken. Verwenden Sie den String "'goo",
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.