Ich muss alle Dateien in meinem Verzeichnis identifizieren, die ".logic" im Namen haben, aber Dateien von Unterverzeichnissen namens "Project Datei-Backups ". Sie können ein Beispiel für eines meiner Projekte sehen, das eine Reihe von Sicherungsdateien (Dateiname.xx.logic) enthält. Ich möchte nur die Projektdatei selbst sehen, hier heißt sie KillBill.logic.Finden Sie Dateien mit ".logic" im Namen, aber schließen Sie Dateien in "Project File Backups" -Unterverzeichnis
Hier ist eine Projektstruktur Referenz
Audiodateien
KillBill.logic
Projektdatei
KillBill.00.logic
Killbill Backups. 01.logic
KillBill.02.logic
KillBill.03.logic
KillBill.04.logic
Sampler Instruments
Proben
Ich habe cd‘ d in das richtige Verzeichnis und führen Sie den folgenden Befehl aus, um ALLE th anzuzeigen e-Dateien mit „.LOGIC“ im Namen:
find . -name "*.logic"
Ich habe die Ergebnisse whittle versuchte sich wie je der genannten Anforderung, ohne Erfolg. Meine Versuche, so haben
weit gewesenfind . -name "*.logic" -not -path "*Backups*"
find . -name "*.logic"| awk '!*Backups*'
(es gibt ein Problem mit der awk-Anweisung)find . -name "*.logic" ! -name "*Backups*"
(Ich vermute, dass dies nicht funktioniert, weil der Name der Datei selbst nicht enthält „Backup“ in es
ich konnte find . -name "*.logic" ! -name "*.*.logic"
nur jede .LOGIC Datei ausschließen, die Versionsinformationen in seinem Namen zu haben scheint, aber ich kann nicht, dass gültige Dateien keine Garantie für einen Zeitraum im Namen haben, HENC Ich möchte Verzeichnisse für Projektdatei-Backups ausschließen.
Was Aufruf von findet soll ich die Projektdateien auflisten und die Backup-Dateien ausschließen, die in jedem „Project File Backups des Projektes gibt es? Ich würde es vorziehen und nicht eine Kombination von anderen Befehlen finden zu verwenden.
Dank arbeitete folgendes, ich habe jetzt eine Lösung gefunden, geschrieben als eine Antwort – DWD