3

Ладно, это странно, надеюсь, кто-то здесь сможет объяснить, что происходит.

Я использую OS X 10.9.4 и хочу перечислить файлы в каталоге (и отфильтровать их, используя *)

Я хочу найти zip-файлы в каталогах загрузок моего каталога пользователя и каталога моего сына.

Здесь отображаются все файлы, в том числе заканчивающиеся на .zip: sudo ls /Users/Jamie/Downloads/
Но когда я пытаюсь его отфильтровать: sudo ls /Users/Jamie/Downloads/*zip
No such file or directory

Но эта же команда прекрасно работает в моем каталоге !? sudo ls /Users/Hamish/Downloads/*zip

На самом деле, даже это приводит к ошибке No such file or directory на его пути, но не на моем: sudo ls /Users/Jamie/Downloads/*

2 ответа2

3

Или вы можете использовать grep для фильтрации ваших результатов. Так

$ sudo ls -l /Users/other/Library/Keychains/*keychain
ls: /Users/other/Library/Keychains/*keychain: No such file or directory

не удастся, но с помощью grep будет работать

 sudo ls -l /Users/other/Library/Keychains|grep .keychain
 -rw-r--r--   1 other staff    48K Jan 31 18:27 login.keychain

Кроме того, grep позволяет вам искать несколько элементов с опцией -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

Надеюсь это поможет.

3

Расширение пути происходит во время выполнения команды, поэтому разверните ее перед запуском sudo.

Вы можете создать новую оболочку внутри sudo с помощью: sudo sh -c "ls /Users/Jamie/Downloads/*.mp3"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .