curingas

Descrição

Curingas são recursos usados para especificar um conjunto de arquivos e/ou diretórios de uma única vez. Permitindo assim, manipular vários arquivos/diretórios com um único comando.

São exemplos de curingas no Linux:

  1. * que substitui um conjunto (zero ou mais de zero) de caracteres;
  2. ? que substitui um único caractere;
  3. [ ] que substitui caracteres especificados dentro dos colchetes;
  4. { } que substitui uma sequência de caracteres especificados dentro das chaves.

Exemplos

Por exemplo, suponha um diretório com os seguintes arquivos:

  • teste1.txt;
  • teste2.txt;
  • teste3.txt;
  • teste4.txt;
  • teste5.txt;
  • teste10.txt;
  • teste20.txt.

O comando

rm teste*.txt

ou

rm teste*

remove todos os arquivos do diretório, enquanto o comando

rm teste?.txt

remove apenas os cinco primeiros arquivos (teste1.txt a test5.txt) e o comando

rm teste[2-4].txt

remove os arquivos teste2.txt, teste3.txt e teste4.txt. Se usarmos a vírgula no lugar do traço no exemplo acima, isto é,

rm teste[2,4].txt

apenas os arquivos teste2.txt e teste4.txt são apagados. O caractere ^ no início da expressão significa exclusão, ou seja, qualquer outro caractere menos os caracteres especificados. Portanto, o comando

rm teste[^2,4].txt

apaga os arquivos teste1.txt, teste3.txt e teste5.txt. Note que este comando não apaga os arquivos teste10.txt e teste20.txt, pois o curinga substitui apenas um caractere. Para substituir mais de um caractere podemos usar um ou mais curingas em um mesmo comando. Por exemplo,

rm teste[^2,4]*.txt

remove também o arquivo teste10.txt, além dos arquivos teste1.txt, teste3.txt e teste5.txt. Para deletar apenas os arquivos teste10.txt e teste20.txt, podemos usar

rm teste{10,20}.txt

É possível também combinar vários curingas. Por exemplo, para deletar os arquivos teste1.txt, teste2.txt, teste3.txt e teste10.txt basta entrar com

rm teste{[1-3],10}.txt

 

Sumário      |      Topo