Kommandozeilen-Werkzeug

Was es ist

everyfile-cli ist dieselbe Suchmaschine wie in der App, als Programm für das Terminal. Mit --json gibt es die Treffer als JSON aus, damit Skripte und andere Programme sie weiterverwenden können. Es liegt in der App, im Ordner Everyfile.app/Contents/Resources/bin.

Die Suchsprache ist dieselbe wie in der App; siehe Suchsyntax.

Ehrlicher Stand

  • Frühe Version. Es steckt ab diesem Release im Download; die Kommandozeile ist noch kein ausgereiftes Produkt.
  • Es nutzt nicht den Index der App. Jeder Aufruf durchsucht den Ordner oder das Laufwerk, das du mit --volume angibst; bei einem großen Laufwerk dauert das jedes Mal einen Moment.
  • Nur lesend: Es sucht und gibt aus, es ändert oder löscht keine Dateien.
  • Das Programm enthält außerdem Entwicklerbefehle (Messungen, Index-Tests). Gedacht ist für dich nur search.

Aufruf

everyfile-cli search "remix ext:mp3" --volume ~/Music --json --limit 20 --sort date --desc
  • --volume <Pfad>: was durchsucht wird. Pflicht, auch mehrfach möglich.
  • --limit N: höchstens N Treffer (Standard 50).
  • --sort name|size|date und --desc: Reihenfolge der Treffer.
  • --junk: Systemmüll wie .DS_Store mit einbeziehen (sonst ausgeblendet).
  • --json: JSON-Ausgabe (Pro).

Ohne --json gibt das Programm eine Zeile pro Treffer aus (Art, Größe, Pfad) und die Zahl der Treffer. Diese einfache Ausgabe ist kostenlos.

JSON-Ausgabe

Echte Ausgabe des Programms für einen kleinen Testordner. modified ist Unix-Zeit in Sekunden, size in Byte, kind ist file oder folder. total ist die Zahl der Treffer, shown die Zahl der Einträge in results (begrenzt durch --limit).

{
  "query" : "remix ext:mp3",
  "results" : [
    {
      "kind" : "file",
      "modified" : 1793041268,
      "name" : "Night Remix.mp3",
      "path" : "/Users/me/Music/Night Remix.mp3",
      "size" : 3
    },
    {
      "kind" : "file",
      "modified" : 1793041268,
      "name" : "Summer Remix.mp3",
      "path" : "/Users/me/Music/Summer Remix.mp3",
      "size" : 0
    }
  ],
  "shown" : 2,
  "total" : 2
}

Installieren

Das Programm wird nicht für dich installiert. Wenn du es überall als everyfile-cli aufrufen willst, lege einmal einen Link an (dafür brauchst du dein Administrator-Passwort):

sudo ln -s /Applications/Everyfile.app/Contents/Resources/bin/everyfile-cli /usr/local/bin/everyfile-cli

Den Link wieder entfernen:

sudo rm /usr/local/bin/everyfile-cli

Liegt Everyfile nicht im Ordner Programme, passe den Pfad im ersten Befehl an.

Pro

Die JSON-Ausgabe braucht eine Everyfile-Pro-Lizenz, offline geprüft mit demselben Schlüssel wie in der App. Das Programm liest den Schlüssel, den du in der App eingegeben hast. Auf einem Rechner ohne die App-Einstellungen setzt du ihn in der Umgebungsvariable EVERYFILE_LICENSE. Ohne gültigen Schlüssel bricht search --json mit einer Fehlermeldung und Exit-Code 3 ab.

Fragen oder etwas fehlt? hello@everyfile.app