Aula 7.8: Expansão de arquivos no terminal Linux

COMPARTILHAR:

Whatsapp Telegram Twitter Facebook Reddit

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.

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

Outro caractere coringa é "*" (asterisco).

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. 

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.

Cada caractere no colchete é substituído um por vez durante a expansão do argumento. Utilizar um hífen "-" dentro dos colchetes define 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.

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, form 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 .

Data??? casa qualquer arquivo começando com Data 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.

COMENTÁRIOS

Nome

#ann,25,#HK,30,#LTCode,130,Artigo - Diversos,156,Artigo - Games,201,Artigo - Tecnologia,614,autor-thomaz,7,Coluna - Alternative World,24,Coluna - Fail,12,Coluna - Tec Line,14,Criptomoeda,72,Curiosidades - Diversos,49,Curiosidades - Tecnologia,50,en,2,estudo,8,HN,12,logica,14,Pentest,23,Programar C,29,Programar POO,6,Programar Python,6,Programar Shell,25,Programar verilog,12,qradar,4,Raspberry Pi,15,Redes,3,root,116,Shorty Awards,1,Smartphones - Reviews,33,Teoria,10,Top Nostalgia,2,VPN,19,WhatsApp,46,
ltr
item
Limon Tec: Aula 7.8: Expansão de arquivos no terminal Linux
Aula 7.8: Expansão de arquivos no terminal Linux
Aula 7.8 - Entenda o processo de expansão de arquivos no Linux
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmI65og5X32bSLCmBz3uJnZlmDvzOFWZWoZzyvUhh2rtp8Hr_kolKy02pOjxpkThrz8uHaTu3skUdeDJlkFEKkC2a9EabpwPzbwJ-hm-po0QIaNeNvYm5CJw3k4SbN03V-d2h1dxrW2tz4/s640/ltcode.jpg
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmI65og5X32bSLCmBz3uJnZlmDvzOFWZWoZzyvUhh2rtp8Hr_kolKy02pOjxpkThrz8uHaTu3skUdeDJlkFEKkC2a9EabpwPzbwJ-hm-po0QIaNeNvYm5CJw3k4SbN03V-d2h1dxrW2tz4/s72-c/ltcode.jpg
Limon Tec
https://www.limontec.com/2023/01/aula-7-8-shellscript-ltcode.html
https://www.limontec.com/
https://www.limontec.com/
https://www.limontec.com/2023/01/aula-7-8-shellscript-ltcode.html
false
2157924926610706248
UTF-8
Carregar todos posts Não encontramos nenhum post VER TUDO Ler mais Responder Cancelar resposta Deletar Por Home PÁGINAS POSTS Ver tudo RECOMENDADO PARA VOCÊ LABEL ARQUIVO SEARCH TODOS POSTS Não encontramos nenhum post relacionado a sua requisição VOLTAR PÁGINA INICIAL Domingo Segunda Terça Quarta Quinta Sexta Sábado Dom Seg Ter Qua Qui Sex Sab Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro Jan Fev Mar Abr Maio Jun Jul Ago Set Out Nov Dez apenas agora 1 minuto atrás $$1$$ minutes ago 1 hora atrás $$1$$ hours ago Ontem $$1$$ days ago $$1$$ weeks ago mais de 5 semanas atrás Seguidores Seguir ESTE CONTEÚDO ESTÁ BLOQUEADO PASSO 1: Compartilhe com seus amigos PASSO 2: Clique no link compartilhado Copiar Todo Código Selecionar Todo Código Todos códigos foram copiados para seu clipboard Não é possível copiar códigos / textos, por favor aperte [CTRL]+[C] (ou CMD+C no Mac) para copiar Tabela de conteúdo