A expansão do nome do caminho ocorre no momento em que você executa o comando, portanto, seja expandido antes de executar o sudo.
Você pode criar um novo shell dentro do sudo com: sudo sh -c "ls /Users/Jamie/Downloads/*.mp3"
Ok, isso é estranho, espero que alguém aqui possa explicar o que está acontecendo.
Estou usando o OS X 10.9.4 e quero listar arquivos em um diretório (e filtrá-los usando *)
Eu quero procurar por arquivos zip nos diretórios Downloads do meu diretório de usuários e no diretório do meu filho.
Isso mostra todos os arquivos, inclusive os que terminam em .zip: sudo ls /Users/Jamie/Downloads/
Mas quando tento filtrá-lo: sudo ls /Users/Jamie/Downloads/*zip
Eu recebo No such file or directory
Mas esse mesmo comando funciona bem no meu diretório!? sudo ls /Users/Hamish/Downloads/*zip
Na verdade, até isso gera o erro No such file or directory
em seu caminho, mas não o meu: sudo ls /Users/Jamie/Downloads/*
Ou você pode usar grep
para filtrar seus resultados. Então
$ sudo ls -l /Users/other/Library/Keychains/*keychain
ls: /Users/other/Library/Keychains/*keychain: No such file or directory
falhará, mas usar grep
funcionará
sudo ls -l /Users/other/Library/Keychains|grep .keychain
-rw-r--r-- 1 other staff 48K Jan 31 18:27 login.keychain
Além disso, grep
permite que você pesquise vários itens com a opção -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
Espero que isso ajude.
Tags command-line bash ls macos