O Curinga Interrogação
Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 26 de 82.
O curinga de interrogação ? corresponde a exatamente um caractere. Diferente de * que corresponde a qualquer número de caracteres, ? é mais preciso — cada ? representa uma posição de um único caractere.
Por exemplo, se você tiver estes arquivos:
file1.txt
file2.txt
file3.txt
file10.txt
notes.txtUsando ? para corresponder a arquivos com exatamente um caractere após file:
ls file?.txtSaída:
file1.txt
file2.txt
file3.txtObserve que file10.txt é não correspondido porque 10 são dois caracteres, não um.
Usando múltiplos pontos de interrogação:
Cada ? corresponde exatamente a um caractere, então você pode encadeá-los:
ls file??.txt # matches file10.txt, file23.txt etc.Misturando com outros caracteres:
ls ???.txt # matches any .txt file with exactly 3-character name
ls img_?.jpg # matches img_1.jpg, img_2.jpg but NOT img_10.jpgQuando usar ? vs *:
- Utilize
?quando souber exatamente quantos caracteres variam - Utilize
*quando o número de caracteres variáveis for desconhecido
Desafio
InicianteUse o ? caractere curinga para listar apenas os arquivos que correspondem a file?.txt — arquivos nomeados file seguidos por exatamente um caractere e terminando com .txt.
Dica:
file10.txtnão deve aparecer em seus resultados porque10são dois caracteres. O?caractere curinga corresponde a apenas um caractere por vez.
Folha de consulta
O curinga de interrogação ? corresponde a exatamente um caractere. Diferente de *, que corresponde a qualquer número de caracteres, ? é mais preciso — cada ? representa uma posição de um único caractere.
Exemplo de combinação de arquivos com exatamente um caractere após file:
ls file?.txtUsando múltiplas interrogações:
Encadeie múltiplos ? para combinar múltiplos caracteres:
ls file??.txt # combina file10.txt, file23.txt etc.Misturando com outros caracteres:
ls ???.txt # combina qualquer arquivo .txt com nome de exatamente 3 caracteres
ls img_?.jpg # combina img_1.jpg, img_2.jpg mas NÃO img_10.jpgQuando usar ? vs *:
- Use
?quando você souber exatamente quantos caracteres variam - Use
*quando o número de caracteres variáveis for desconhecido
Experimente 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