Se você quiser apenas listar os arquivos no terminal, use:
ls -d bluebelt*.jpg
Se você quiser fazer algo com esses arquivos, use:
for file in bluebelt*.jpg; do
your_command "$file"
done
Eu quero selecionar (find / grep / ls) certos arquivos em um diretório começando com certas palavras e terminando com uma certa extensão. Exemplo:
Eu só quero os arquivos começando com "bluebelt" AND terminando apenas com a extensão ".jpg" (e não a extensão JPEG). Como fazer isso na linha de comando?
Se você quiser apenas listar os arquivos no terminal, use:
ls -d bluebelt*.jpg
Se você quiser fazer algo com esses arquivos, use:
for file in bluebelt*.jpg; do
your_command "$file"
done
find /dir/with/yor/files -type f -iname 'bluebelt*.jpg'
A vantagem deste método sobre o ls
-driven é nesse método que o método encontrará apenas arquivos enquanto o comportamento do ls
pode ser inesperado. Digamos que, se você tiver um diretório chamado bluebelt1.jpg, o utilitário ls
exibirá todos os arquivos contidos neste diretório.
Pensei que esta variante tem duas coisas. (1) pesquisará sem distinção entre maiúsculas e minúsculas. Se você não deseja especificar -name
. (2) ele pesquisará recursivamente. Se você não quiser, pode usar o -maxdepth
. Por favor, veja o man find
para explicação.
Tags grep find regular-expression