Platzhalter für OS X-Terminal funktionieren für einige Pfade nicht

Platzhalter für OS X-Terminal funktionieren für einige Pfade nicht

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 directoryFehler 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 grepIhre 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 grepwird 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 grepkö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.

verwandte Informationen