Smart Folder Ordner ausschließen
Letztendlich möchte ich, dass das Ergebnis dieses Befehls find ein intelligenter Ordner ist.
Die Kriterien sind nicht so kompliziert:
- Name sollte "README.md" sein
- Typ sollte Datei sein
- Pfad sollte nicht "node_modules" enthalten
find /Users/me/Documents -type f -name README.md -not -path "*/node_modules/*"
Das Problem ist, dass in der Operatorliste der Kriterien für intelligente Ordner anscheinend keine does not contain
Option vorhanden ist.
Die verfügbaren Optionen sind:
- Streichhölzer
- enthält
- beginnt mit
- endet mit
- ist
- ist nicht
Ist dies möglich und wenn ja, wie?
Bearbeiten 1
Ich habe festgestellt, dass ich durch Halten des Optionsschlüssels eine Negationsklausel zu den Suchkriterien für intelligente Ordner hinzufügen kann, aber den Ordner node_modules scheinbar nicht erfolgreich ausschließen kann. Es ist unklar, welche Kriterien zu verwenden sind, aber keines der Kriterien, die ich ausprobiert habe, scheint zu funktionieren:
- Dokumentencontainer
- Enthält Ordnernamen
- Ordnernamen
Ich habe versucht, diese mit den folgenden Operatoren zu kombinieren:
- enthält
- Streichhölzer
und mit folgenden Begriffen:
- Knotenmodule
- Knotenmodule
falls es Platzhaltersuchen unterstützt.
Ich habe alle Kombinationen der oben genannten Filter, Operatoren und Begriffe ausprobiert.
Die Dokumentation ist zu diesem Thema so schlecht.
quelle
Antworten:
Es sieht so aus, als ob kMDItemPath nicht das tun kann, was Sie brauchen:
Keine Ergebnisse im Scheinwerferlicht bei der Suche gegen kmditempath
Einige mögliche Alternativen werden hier diskutiert:
wie man eine Datei im Rampenlicht findet, indem man Ordner und Dateinamen verwendet
quelle
Es gibt eine Problemumgehung, aber sie ist nicht sehr hübsch. Es dient jedoch Ihren Zwecken, wenn Sie nur in einem Ordner (unter Verwendung der von Ihnen angegebenen Kriterien) auf Ihre READMEs zugreifen möchten und eine Vorstellung davon haben möchten, woher sie stammen.
Die Idee ist, mit Ihrem Shell-Skript die richtigen Dateien zu finden und dann Aliase für jede Datei in einem Verzeichnis zu sammeln. Anschließend benennen wir die Aliase um, um uns mitzuteilen, zu welchem übergeordneten Verzeichnis die Originaldatei gehört.
Das Applescript dazu finden Sie unten. Hier sieht es hässlich aus, aber versuchen Sie, es in den Skript-Editor einzufügen und zu kompilieren, und Sie sollten in der Lage sein, die Logik zu sehen.
quelle