web-dev-qa-db-ja.com

OSXターミナルのワイルドカードが一部のパスで機​​能しない

さて、これは奇妙です、うまくいけば、ここの誰かが何が起こっているのかを説明することができます。

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/*

3
Hamish

パス名の展開はコマンドの実行時に発生するため、Sudoを実行する前に展開してください。

Sudo sh -c "ls /Users/Jamie/Downloads/*.mp3"を使用して、Sudo内に新しいシェルをインスタンス化できます。

3
denisvm

または、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
SaxDaddy