![Platzhalter für OS X-Terminal funktionieren für einige Pfade nicht](https://rvso.com/image/1417388/Platzhalter%20f%C3%BCr%20OS%20X-Terminal%20funktionieren%20f%C3%BCr%20einige%20Pfade%20nicht.png)
Okay, das ist seltsam, hoffentlich kann hier jemand erklären, was passiert.
Ich verwende OS X 10.9.4 und möchte Dateien in einem Verzeichnis auflisten (und sie mit * filtern).
Ich möchte in den Download-Verzeichnissen meines Benutzerverzeichnisses und des Verzeichnisses meines Sohnes nach ZIP-Dateien suchen.
Dies zeigt alle Dateien an, einschließlich der Dateien mit der Endung .zip: sudo ls /Users/Jamie/Downloads/
Aber wenn ich versuche, es zu filtern: sudo ls /Users/Jamie/Downloads/*zip
Ich erhalteNo such file or directory
Aber derselbe Befehl funktioniert in meinem Verzeichnis einwandfrei!?sudo ls /Users/Hamish/Downloads/*zip
Tatsächlich erzeugt sogar dies den No such file or directory
Fehler auf seinem Pfad, aber nicht auf meinem:sudo ls /Users/Jamie/Downloads/*
Antwort1
Die Pfadnamenerweiterung erfolgt beim Ausführen des Befehls. Führen Sie die Erweiterung daher vor dem Ausführen von „sudo“ durch.
Sie können eine neue Shell innerhalb von sudo mit folgendem Befehl instanziieren:sudo sh -c "ls /Users/Jamie/Downloads/*.mp3"
Antwort2
Oder Sie können grep
Ihre Ergebnisse filtern.
$ sudo ls -l /Users/other/Library/Keychains/*keychain
ls: /Users/other/Library/Keychains/*keychain: No such file or directory
wird fehlschlagen, aber die Verwendung grep
wird funktionieren
sudo ls -l /Users/other/Library/Keychains|grep .keychain
-rw-r--r-- 1 other staff 48K Jan 31 18:27 login.keychain
Darüber hinaus grep
können Sie mit der Option nach mehreren Artikeln suchen -e
.
$ sudo ls -laRh /Users/other/Library/Logs|grep -e Finder -e Google
-rw-r--r-- 1 other staff 18K Jan 31 18:27 GoogleSoftwareUpdateAgent.log
-rw------- 1 other staff 56K Jan 31 18:27 .Finder_2014-06-25-165714.crash.plist
-rw-------@ 1 other staff 52K Jan 31 18:27 Finder_2014-06-25-165714.crash
Hoffe das hilft.