Aprenda Linux

Caracteres curinga no Linux explicados com 10 exemplos

Caracteres curinga no Linux explicados com 10 exemplos

Wildcards, um.k.uma. metacaracteres são uma dádiva de Deus quando se trata de pesquisar nomes de arquivos específicos em uma pilha de arquivos com nomes semelhantes. Por exemplo, usando Wildcards no Linux, você pode usar o ls comando,  rm comando, ou qualquer outro comando do Linux para esse assunto, em vários arquivos, desde que correspondam aos critérios definidos.

Nesta leitura, discutiremos como você pode usar Wildcards no Linux para agilizar seu fluxo de trabalho e se tornar mais produtivo. Mas, primeiro, vamos dar uma olhada rápida nos curingas mais poderosos e comumente usados ​​no Linux:

  1. O asterisco (*): O (*) curinga representa qualquer número de caracteres desconhecidos. Istoéútil ao pesquisar por documentos ou arquivos, mas lembrando apenas uma parte de seu nome.
  2. O ponto de interrogação (?): O (?) curinga representa apenas um caractere desconhecido. Isso é útil quando você tem uma lista de arquivos com nomes semelhantes e não tem certeza de alguns caracteres.
  3. Os caracteres entre colchetes ([]): O ([]) curinga - o 3º colchete e não o 1º colchete - é usado para corresponder a quaisquer ocorrências de caracteres definidos dentro dos colchetes. Esta opção é útil ao lidar com arquivos em maiúsculas e minúsculas, como veremos mais tarde.

Agora, eu percebo que todas essas informações não fazem sentido se você nunca lidou com curingas antes. No entanto, para ajudá-lo a esclarecer sua confusão, reunimos um guia detalhado, incluindo 10 exemplos, para garantir que você entenda corretamente a função dos curingas e comece a usá-los você mesmo.

Exemplos de correspondência de nomes de arquivo usando curingas

Para começar, vamos usar todos os vários curingas que discutimos anteriormente e ver como usá-los para combinar nomes de arquivo. Para fazer isso, usaremos o seguinte conjunto de arquivos:

  1. Este comando irá corresponder a todos os nomes de arquivo que começam com a letra M e terminando com uma ou mais ocorrências de qualquer caractere.
$ ls -l M *

Resultado:

Observe como ele só corresponde aos arquivos que começam com "M" maiúsculo e não com 'm' minúsculo. 

2. Este comando irá copiar todos os nomes de arquivos começando com Meus dados e terminando com uma ou várias ocorrências de qualquer caractere.

$ ls My-Data *

Resultado:

3. Este comando irá corresponder a todos os arquivos que começam com a letra M, terminando com a letra N, e tendo qualquer 1 caractere no meio.

$ ls M?N.sh

Resultado:

4. Este comando irá corresponder a todos os arquivos que começam com a letra M, terminando com a letra N, mas ter apenas 1 caractere no meio pertence à lista de caracteres definida entre colchetes [AEIOU].

$ ls M [AEIOU] N.sh

Resultado:

4 exemplos de combinação de diferentes caracteres curinga para corresponder a nomes de arquivo

Agora, para aumentar sua eficácia, você pode misturar e combinar esses curingas para trabalhar juntos e ser mais eficaz na correspondência de nomes de arquivo.

  1. Aqui está um comando que o ajudará a encontrar qualquer nome de arquivo que possa ter quaisquer 3 caracteres (incluindo nenhum caractere) seguido por bolo e terminando com uma ou mais ocorrências de qualquer caractere.
$ ls ???bolo*

Resultado:

2. Aqui está um comando que irá corresponder a todos os nomes de arquivos que começam com qualquer um desses caracteres entre colchetes [MNLOP] e terminar com uma ou mais ocorrências de qualquer personagem.

Vamos também ver o que acontece quando substituímos [MNLOP] com [mnlop].

Portanto, os comandos que usaremos são:

$ ls [MNLOP] *
$ ls [mnlop] *

Resultado:

Como você pode ver, você precisa estar ciente das maiúsculas e minúsculas das letras que você insere no caractere curinga, pois isso influenciará o resultado.

3. Aqui está um comando que irá corresponder a todos os nomes de arquivos com qualquer um desses caracteres [MNLOP] como o primeiro, qualquer um desses personagens [AEIOU] como o segundo, seguido por N, e finalmente terminando com uma ou mais ocorrências de qualquer caractere.

$ ls [MNLOP] [AEIOU] N *

Resultado:

Observe como o (*) curinga só está ajudando a encontrar todas as extensões dos nomes de arquivos.4.

Aqui está um comando que irá corresponder a todos os nomes de arquivos que começam com uma ou mais ocorrências de qualquer caractere levando a M, seguido por qualquer 1 caractere, a seguir seguido por N, e, em seguida, terminando com uma ou mais ocorrências de qualquer caractere.

$ ls * M?N *

Resultado:

Usando curingas para combinar caracteres

Agora, você deve ter um entendimento prático de como funcionam os curingas. Agora podemos nos concentrar em alguns casos de uso avançados em que os curingas são inestimáveis.

Por exemplo, o colchete curinga permite que você defina uma gama de caracteres usando [-] em vez de digitar todos os caracteres. Isto pode ser extremamente útil quando você deseja especificar um conjunto de caracteres e combinar nomes de arquivos com base em onde os caracteres aparecem. 

Para fazer isso, usaremos o seguinte conjunto de arquivos, conforme mostrado na imagem:

Como você pode ver, a imagem que criamos é uma lista de arquivos contendo diferentes dados de Pokémon.

Agora, para encontrar todos os nomes de arquivos que começam com Pokémon- seguido por um número, a seguir qualquer caractere alfanumérico, novamente seguido por um número e, em seguida, terminando com uma ou mais ocorrências de qualquer caractere, podemos usar o seguinte comando:

$ ls pokemon- [0-9] [0-9a-zA-Z] [0-9] *

Resultado:

A parte [0-9] representa qualquer caractere numérico entre 0 para 9

A próxima parte [0-9a-zA-Z] representa qualquer número de caracteres entre 0 para 9, ou qualquer letra minúscula entre uma para z, ou uma letra maiúscula entre UMA para Z.

Como tal, se mudarmos [0-9a-zA-Z] com [0-9a-z], você pode ver que o resultado não inclui nenhum nome de arquivo com letras maiúsculas na posição designada.

$ ls pokemon- [0-9] [0-9a-z] [0-9] *

Resultado:

Usando curingas para negar um conjunto de caracteres

Assim como você pode especificar um conjunto de caracteres, você também pode negar um conjunto de caracteres enquanto faz a correspondência para nomes de arquivo. Aqui está um exemplo de como isso é feito:

$ ls pokemon- [0-9] [!a-z] [0-9] *

Resultado:

Isso corresponde a todos os nomes de arquivo que começam com Pokémon- seguido por qualquer caractere numérico, a seguir por qualquer caractere diferente de letras minúsculas, seguido por qualquer caractere numérico e, finalmente, terminando com uma ou mais ocorrências de qualquer caractere.

Usando [!a-z], estamos negando o conjunto de todas as letras minúsculas. Agora, os nomes dos arquivos correspondem a qualquer caractere que não seja uma letra minúscula.

Empacotando

Isso nos leva ao final de nossa rápida olhada nos curingas do Linux e como usá-los. Resumindo tudo, em poucas palavras, o asterisco (*) o caractere curinga é mais útil quando você conhece o nome do arquivo, mas não a extensão. O ponto de interrogação (?) curinga pode ajudá-lo se você esquecer alguns caracteres de nome de arquivo. O colchete ([]) o curinga é útil quando você deseja conter sua pesquisa dentro de um conjunto de caracteres definidos.

O botão do meio do mouse não funciona no Windows 10
O botão do meio do mouse ajuda você a percorrer longas páginas da web e telas com muitos dados. Se isso parar, você vai acabar usando o teclado para r...
Como alterar os botões esquerdo e direito do mouse no PC com Windows 10
É normal que todos os dispositivos de mouse de computador sejam ergonomicamente projetados para usuários destros. Mas existem dispositivos de mouse di...
Emular cliques do mouse passando o mouse usando o mouse sem cliques no Windows 10
Usar um mouse ou teclado na postura errada de uso excessivo pode resultar em muitos problemas de saúde, incluindo tensão, síndrome do túnel do carpo e...