Um curinga é um personagem que pode ser usado como um substituto para qualquer de uma classe de caracteres em uma pesquisa, assim, aumentando a flexibilidade e a eficiência das pesquisas.
Wildcards são comumente usados em comandos shell em Linux e outros sistemas operacionais Unix-like. Shell é um programa que fornece uma interface de usuário somente de texto e cuja principal função é executar comandos digitados pelos usuários e exibir seus resultados.
Wildcards are also used in regular expressions and programming languages. Expressões regulares são um sistema de correspondência de padrões que usa strings (ou seja, sequências de caracteres) construídos de acordo com regras de sintaxe pré-definidas para encontrar strings desejadas no texto.
o termo wildcard ou wild card foi originalmente usado em jogos de cartas para descrever um cartão que pode ser atribuído qualquer valor que seu titular deseja. No entanto, seu uso se espalhou de modo que agora é usado para descrever um fator desconhecido ou imprevisível em uma variedade de campos.
Star Wildcard
três tipos de wildcards são usados com comandos Linux. O mais frequentemente empregado e geralmente o mais útil é a estrela wildcard, que é o mesmo que um asterisco (*). O Star wildcard tem o significado mais amplo de qualquer um dos caracteres especiais, uma vez que pode representar zero caracteres, todos os caracteres individuais ou qualquer cadeia de caracteres.
como exemplo, o comando file fornece informações sobre qualquer objeto do sistema de arquivos (ou seja, arquivo, diretório ou link) que é fornecido a ele como um argumento (ou seja, entrada). Como o star wildcard representa cada cadeia de caracteres, ele pode ser usado como argumento para o arquivo devolver informações sobre cada objeto na diretoria especificada. Assim, a seguir exibe informações sobre cada objeto no diretório atual (por exemplo, o diretório em que o usuário está atualmente trabalhando):
file *
Se não houver nenhuma correspondência, uma mensagem de erro é retornada, tais como:*: não pode stat `*’ (no such file or directory).. No caso deste exemplo, a única maneira de não haver correspondências é se o diretório estiver vazio.
Wildcards pode ser combinado com outros caracteres para representar partes de cadeias de caracteres. Por exemplo, para representar qualquer objeto do sistema de arquivos que tenha um.JPG filename extension,*.jpg seria usado. Da mesma forma, a* representaria todos os objetos que começam com um minúsculo caso (ou seja, pequena) letra A.
como outro exemplo, o seguinte diria ao comando ls (que é usado para listar arquivos) para fornecer os nomes de todos os arquivos no diretório atual que têm um.html ou A.extensão txt:
ls *.html *.txt
da Mesma forma, o seguinte deve dizer o comando rm (que é usado para remover arquivos e diretórios) para excluir todos os arquivos do diretório atual que tenham a cadeia de caracteres xxx no seu nome:
rm *xxx*
ponto de Interrogação Curinga
O ponto de interrogação (?) é usado como um caractere de caracteres especiais em comandos shell para representar exatamente um caractere, que pode ser qualquer caractere único. Assim, dois pontos de interrogação em sucessão representariam quaisquer dois caracteres em sucessão, e três pontos de interrogação em sucessão representariam qualquer cadeia constituída por três caracteres.
Assim, por exemplo, o seguinte deve retornar dados em todos os objetos no diretório atual, cujos nomes, inclusive de quaisquer extensões, são exatamente três caracteres de comprimento:
file ???
E o seguinte deve fornecer dados sobre todos os objetos cujos nomes são um, dois ou três caracteres de comprimento:
file ? ?? ???
como é o caso da estrela wildcard, a marca de interrogação wildcard pode ser usada em combinação com outros caracteres. Por exemplo, o seguinte deve fornecer informações sobre todos os objetos no diretório atual que começam com a letra a e são cinco caracteres de comprimento:
file a????
O ponto de interrogação curinga também pode ser usado em combinação com outros curingas quando separados por algum outro personagem. Por exemplo, o seguinte deve retornar uma lista de todos os arquivos do diretório atual que tem um de três caracteres extensão de nome de arquivo:
ls *.???
Colchetes Curinga
O terceiro tipo de caractere curinga no shell de comandos é um par de colchetes, o que pode representar qualquer um dos caracteres entre colchetes. Assim, por exemplo, o seguinte iria fornecer informações sobre todos os objetos no diretório atual que têm um x, y e / ou z neles:
file **
E a seguinte lista todos os arquivos que tinha uma extensão que começa com x, y ou z:
ls *.*
Os mesmos resultados podem ser alcançados por apenas usando a estrela e o ponto de interrogação se de caracteres universais. No entanto, é claramente mais eficiente usar o wildcard bracket.
quando um hífen é usado entre dois caracteres nos parêntesis rectos, indica um intervalo incluindo esses dois caracteres. Por exemplo, o seguinte deve fornecer informações sobre todos os objetos no diretório atual que começam com qualquer letra de a a f:
file *
E as seguintes informações sobre cada objeto no diretório atual, cujo nome inclui pelo menos um número:
file **
O uso de colchetes para indicar um intervalo pode ser combinado com o seu uso para indicar uma lista. Assim, por exemplo, o seguinte deve fornecer informações sobre todos os objetos do sistema de arquivos cujos nomes começam com qualquer letra de a a c, ou começar com s ou t:
file *
da Mesma forma, vários conjuntos de intervalos pode ser especificado. Assim, por exemplo, o seguinte iria retornar informações sobre todos os objetos cujos nomes começam com as três primeiras ou as últimas três letras minúsculas do alfabeto:
file *
às Vezes pode ser útil ter uma sucessão de colchete de caracteres universais. Por exemplo, o seguinte exibe todos os nomes de arquivos no diretório atual que consistem jones seguido por um número de três dígitos:
ls jones