Como posso fazer 'dir * .mp3' no bash?

3

No Windows, eu costumava executar rapidamente um dir *.mp3 para localizar todos os arquivos com uma extensão mp3 no diretório atual. Existe uma maneira similarmente rápida de fazer isso com o bash? O comando ls parece ter uma maneira de ignorar um padrão, mas não mostrar apenas o padrão. Eu posso fazer find . -maxdepth 1 -iname '*.mp3' ou ls|grep -i '\.mp3$' , mas nenhum desses flui dos meus dedos em meio segundo ou menos)

Quaisquer alternativas mais rápidas?

    
por Andy 17.06.2010 / 13:01

2 respostas

10

Você já tentou ls *.mp3 ?

    
por 17.06.2010 / 13:11
0

Observe que, em bash , o curinga em estrela é resolvido pelo interpretador da linha de comando antes que a matriz resultante de cadeias seja passada para o comando propriamente dito. Na linha de comando do Windows (ex-DOS) , o caractere curinga da estrela é passado para o comando 'as is', que então precisa lidar com isso. Veja a entrada da globulação da Wikipedia

Tente ver como o curinga se comporta:

#!/bin/bash    
# Display all "positional parameters" (as they are called), passed to the script:    
# COUNT is the number of positional paramaters

COUNT=$#    
while [[ $COUNT -gt 0 ]]; do
   echo "'$1'"
   # pop positional argument 1 off the stack of positional arguments
   shift
   let COUNT=$COUNT-1
done
    
por 26.11.2013 / 12:49

Tags