Menu
Coddy logo textTech

Combinando Curingas

Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 28 de 82.

O verdadeiro poder dos coringas surge quando você os combina juntos. Você pode misturar *, ? e [] em um único padrão para criar uma correspondência de arquivos muito precisa.

Dado este sistema de arquivos:

photo_1.jpg
photo_2.jpg
photo_10.jpg
photo_1.png
photo_2.png
report_1.txt
report_2.txt
notes.txt

Combinando * e []:

Liste todos os arquivos de imagem (tanto .jpg quanto .png):

ls *.{jpg,png}    # using brace expansion
ls *.[jp]*        # matches .jpg, .png, .jpeg etc.

Combinando ? e []:

Liste apenas arquivos de fotos de dígito único:

ls photo_[0-9].jpg   # corresponde a photo_1.jpg e photo_2.jpg apenas

Combinando todos os três:

Corresponda a qualquer arquivo de relatório com um único dígito:

ls *_[0-9].txt     # matches report_1.txt and report_2.txt

Corresponda a arquivos que começam com qualquer letra seguida de caracteres específicos:

ls [pr]*_?.txt    # starts with p or r, then anything, then underscore, one char, .txt

Usando curingas com outros comandos:

Mova todas as fotos jpg de um dígito único para uma pasta:

mv photo_[0-9].jpg archive/

Exclua todos os arquivos .log de qualquer subpasta:

rm */*.log
challenge icon

Desafio

Fácil

Use uma combinação de curingas para listar apenas os arquivos de foto .jpg que têm um número de dígito único — assim photo_1.jpg e photo_2.jpg, mas não photo_10.jpg ou quaisquer arquivos .png.

Dica: Combine o texto fixo photo_, um intervalo de colchetes para dígitos únicos e a extensão .jpg em um padrão.

Folha de consulta

Os coringas podem ser combinados para criar padrões precisos de correspondência de arquivos misturando *, ? e [].

Combinando * e []:

ls *.{jpg,png}    # using brace expansion for multiple extensions
ls *.[jp]*        # matches .jpg, .png, .jpeg etc.

Combinando ? e []:

ls photo_[0-9].jpg   # matches single-digit photo files only

Combinando todos os três coringas:

ls *_[0-9].txt     # matches files ending with underscore, single digit, and .txt
ls [pr]*_?.txt     # starts with p or r, then anything, underscore, one char, .txt

Usando coringas com outros comandos:

mv photo_[0-9].jpg archive/   # move single-digit jpg photos
rm */*.log                     # delete .log files from any subfolder

Experimente você mesmo

Terminal
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos