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.txtCombinando * 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 apenasCombinando 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.txtCorresponda 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, .txtUsando 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 */*.logDesafio
FácilUse 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.jpgem 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 onlyCombinando 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, .txtUsando coringas com outros comandos:
mv photo_[0-9].jpg archive/ # move single-digit jpg photos
rm */*.log # delete .log files from any subfolderExperimente você mesmo
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
4Diretórios
Criar um DiretórioCopiar um DiretórioMover e Renomear um DiretórioExcluir um DiretórioResumo - Operações com Diretórios7Conteúdo do Arquivo
Head e TailContagem de PalavrasComando SortComando UniqGrep BásicoGrep com FlagsResumo - Detetive de Texto10Projeto Analisador de Log
Visão Geral do ProjetoVisualizando o Arquivo de Log2Navegação
Imprimir Diretório de TrabalhoListar ArquivosMudar DiretórioCaminhos Absolutos vs RelativosDiretório Home e RaizResumo - Encontre Seu Caminho8Redirecionamento
Saída PadrãoSobrescrever em um ArquivoAnexar a um ArquivoEntrada PadrãoErro PadrãoRecapitulação - Construtor de Log3Arquivos
Criar um ArquivoLer um ArquivoCopiar um ArquivoMover e Renomear um ArquivoExcluir um ArquivoResumo - Operações com Arquivos6Curingas e Padrões
O Curinga AsteriscoO Curinga InterrogaçãoCuringas de ColchetesCombinando CuringasResumo - Operações Seletivas9Pipes
O Que é um PipeEncadeando Dois ComandosEncadeando Múltiplos ComandosPipe com GrepResumo - Pipeline de Dados