Aula 7.8: Expansão de arquivos no terminal Linux | Digital Noch

Aula 7.8: Expansão de arquivos no terminal Linux | Digital Noch

Aula 7.8 – Entenda o processo de expansão de arquivos no Linux

   

Este artigo faz parte do projeto #LTCode

Globbing é o nome dado ao processo de expansão de caminho de arquivos. Para isso você pode utilizar de caracteres coringa que quando aparecem em um argumento em linha de comando, a shell o expande em uma lista de nomes de arquivos.

O caractere coringa “?” (ponto de interrogação) casa qualquer caractere único no nome de arquivos existente.

Aula 7.8: Expansão de arquivos no terminal Linux | Digital Noch Digital Noch

Portanto pode-se utilizar o caractere coringa “?” em qualquer posição no nome do arquivo, inicio, meio ou fim.

Outro caractere coringa é “*” (asterisco).

Aula 7.8: Expansão de arquivos no terminal Linux | Digital Noch Digital Noch

O asterisco casa qualquer quantidade de caracteres inclusive nenhum.

Uma informação importante é que o caractere coringa interrogação e asterisco não casam arquivos escondidos. 

Aula 7.8: Expansão de arquivos no terminal Linux | Digital Noch Digital Noch

Então para exibir arquivos escondidos é necessário colocar explicitamente o caractere ponto antes do padrão.

Um par de colchetes “[]” envolvendo uma lista de caracteres faz com que a shell case nomes de arquivos contendo um dos caracteres individualmente.

Aula 7.8: Expansão de arquivos no terminal Linux | Digital Noch Digital Noch

Cada caractere no colchete é substituído um por vez durante a expansão do argumento. Utilizar um hífen “-” dentro dos colchetes outline uma faixa de caracteres a serem utilizados na expansão. Então utilizar [1-4] é o mesmo que utilizar [1234] e [a-zA-Z] utiliza todas as letras minúsculas e maiúsculas sem acentos.

Quando um caractere de circunflexo (^) ou de interrogação (!) é imediatamente seguido do colchete de abertura, significa que não casa com os caracteres especificados dentro dos colchetes.

Aula 7.8: Expansão de arquivos no terminal Linux | Digital Noch Digital Noch

No exemplo da figura acima casa qualquer nome de arquivo que não termina em com número 2.

Confira abaixo alguns caracteres coringa pré-definidos para utilização:

[:alnum:] representam caracteres alfanuméricos como letras e dígitos.

[:alpha:] representam caracteres do alfabeto como letra.

[:blank:] representam caracteres branco como espaço em branco e tabulação.

[:cntrl:] representam caracteres de controle (CONTROL)

[:digit:] representam caracteres numéricos como dígitos.

[:graph:] representam caracteres gráficos: [:alnum:] e [:punct:].

[:lower:] representam caracteres minúsculos do alfabeto: [a-z].

[:print:] representam caracteres imprimíveis: [:alnum:], [:punct:] e [:space:].

[:space:] representam espaço, tabulação, nova linha, type feed, carriage return.

[:upper:] representam caracteres maiúsculo do alfabeto: [A-Z].

[:xdigit:] representam dígitos hexadecimais: [0-9], [a-f] e [A-F].

Alguns exemplos de uso de expansões:

* casa todos os arquivos.

g* casa qualquer arquivo começando com g.

b*.txt casa qualquer arquivo começando com b, seguido de quaisquer caracteres e terminando em .txt .

Knowledge??? casa qualquer arquivo começando com Knowledge seguido de exatamento três caracteres quaisquer.

[abc]* casa qualquer arquivo começando com a, b ou c.

BACKUP[0-9][0-9][0-9] casa qualquer arquivo começando com BACKUP seguido de exatamente três caracteres numerais.

[[:upper:]]* casa qualquer arquivo começando com um caractere maiúsculo.

[![:digit:]]* casa qualquer arquivo não começando com um número.

*[[:lower:]123] casa qualquer arquivo terminando com um caractere minúsculo ou um dos numerais de 1 a 3.

Próxima aula, clique aqui.


#Aula #Expansão #arquivos #terminal #Linux

Related articles

spot_img

Leave a reply

Please enter your comment!
Please enter your name here