Shell script: *, [], {}, ????, como utilizá-los?

Neste artigo abordarei o uso básico dos wildcards (coringas), que combinados com os comandos de terminal podem fazer mágica. Seu domínio é essencial para todo bom administrador de sistemas Linux.

[ Hits: 31.269 ]

Por: Fabio Maran em 30/01/2009 | Blog: http://movimentolivre.zip.net


Introdução



Outro recurso importantíssimo e que facilita muito a vida do administrador é a utilização de wildcards, seja ela para fins de buscas, cópias de aquivos para cá ou para lá, mover arquivos etc. Seja qual for o fim, os wildcards estão ao nosso lado para facilitar as tarefas.

Aqui será apresentando seu uso básico, em conjunto com comandos básicos, sendo eles: ls, cp, mv e rm.

Os wildcards, podem ser usados em inúmeros outros comandos como sed, find e para criação de expressões regulares, porém isso requer um conhecimento um pouco mais avançado e por isso não será abordado neste artigo.

De qualquer maneira entender seu uso básico irá lhe ajudar e muito. :)

Conteúdo programado:
  • Apresentação aos wildcards;
  • Entendendo seu uso na prática;
  • Considerações finais.

Uma ótima leitura a todos.

:)

    Próxima página

Páginas do artigo
   1. Introdução
   2. *, [], {}, ????
   3. Utilizando os wildcards - modo listagem
   4. Utilizando os Wildcards - realizando movimentações
Outros artigos deste autor

Virtualização de sistemas

Instalando o KDE 4 no Debian

Leia, grave e execute!

GNOME Slacky 2.20.3

Desvendando os filesystems

Leitura recomendada

Monitorando a saúde do Apache (Prometheus + Grafana)

LAMP no Debian 8 (Apache 2, PHP 5 e MariaDB)

GNOME vs KDE - Usabilidade ou Personalização

Como posso recuperar o boot loader?

Concatenação, conexão e recursividade de comandos no GNU/Linux

  
Comentários
[1] Comentário enviado por alfameck em 30/01/2009 - 14:59h

ferramenta interessante.

[2] Comentário enviado por Tulio Hoffimann em 30/01/2009 - 15:10h

acrescentando, os metacaracteres "{}" podem ser usados juntamente com o operador ".." que serve para expandir uma sequencia, por exemplo:

No exemplo em que você ultilizou
$ touch aula{1,2,3,4,5,6,7,8,9,10}

Poderia ser facilmente substituido por
$ touch aula{1..10}

E o mesmo pode ser feito com caracteres não-numéricos..
$ echo {a..z}

[3] Comentário enviado por fulllinux em 30/01/2009 - 15:52h

Taí, maran e mais uma de suas super produções!!! hauauha
Abraço meu brother!!!

[4] Comentário enviado por maran em 30/01/2009 - 15:55h

@fulllinux:
kkkkk que isso meu velho, obrigado pelo coment, abraço meu velho, fica na paz!

[5] Comentário enviado por maran em 30/01/2009 - 16:17h

@tuliohm , Fala meu velho, sim podemos fazer estas e outras coisas algo como:

Criar diretorios mais rapidamente, um exemplo simples, bem básico:

$ mkdir /home/maran/{mp3,fotos,musicas,arquivos}

O que aconteceria, seria criado, todos estes diretorios dentro do {}, sendo subdiretórios de /maran

Ou tambem já povoar um arquivo com inumeras linhas, sendo prático para arquivos de exemplos, ou que você repita muitas vezes algumas palavras como:

$ echo -e "\nTeste "{1..20} > wildcards.txt

Eu criaria 20 linhas contendo desde Teste 1 até Teste 20 , cada um em uma linha.

Porem como digo no inicio do artigo, falarei sobre o básico!
Pois como o artigo indica-se a quem esta começando, acabaria confundindo o pessoal!

Obrigado pela observação!

[6] Comentário enviado por cassimirinho em 30/01/2009 - 16:27h

Gostei de ver, está em meus favoritos úteis.

[7] Comentário enviado por leandrojf em 30/01/2009 - 21:24h

boa maram...falo que ia mandar mais um artigo e mandou mesmo...parabens!!!

[8] Comentário enviado por Teixeira em 30/01/2009 - 22:58h

Grande Maran!
Os wildcards ja eram muito importantes nos tempos do DOS,
e nao perderam nada dese aimportancia ate hoje.
Voce abordou com muita felicidade o assunto.
Acho que ficou bem pratico e compreensivel,
pois eeees materia em manuais por ai sempre foi de uma chatice tremenda, que voce conseguiu evitar.
Ficou bem leve.
Parabens!

[9] Comentário enviado por Teixeira em 30/01/2009 - 22:59h

Grande Maran!
Os wildcards ja eram muito importantes nos tempos do DOS,
e nao perderam nada dessa importancia ate hoje.
Voce abordou com muita felicidade o assunto.
Acho que ficou bem pratico e compreensivel,
pois eeees materia em manuais por ai sempre foi de uma chatice tremenda, que voce conseguiu evitar.
Ficou bem leve.
Parabens!

[10] Comentário enviado por Teixeira em 30/01/2009 - 23:01h

Grande Maran!
Os wildcards ja eram muito importantes nos tempos do DOS,
e nao perderam nada dessa importancia ate hoje.
Voce abordou com muita felicidade o assunto.
Acho que ficou bem pratico e compreensivel,
pois essa materia em manuais por ai sempre foi de uma chatice tremenda, que voce conseguiu evitar.
Ficou bem leve.
Parabens!

[11] Comentário enviado por joao_15 em 01/02/2009 - 13:41h

Muito bom o artigo, foi esclarecedor.
Não sabia por exemplo que dava para se usar o {} para criar vários diretórios que estivessem lá dentro.

Vlw por contribuir e mostrar que os wildcards estão aí para nos ajudar.

[12] Comentário enviado por slackmen em 07/02/2009 - 12:47h

Bom artigo, isso eh uma coisa que muita gente esquece e esquenta a cabeça com coisas simples enquanto poderia usar os coringas...

[13] Comentário enviado por Weverton em 24/02/2009 - 10:55h

Artigo bacana, essas dicas sempre facilitam a vida de nós administradores.

[14] Comentário enviado por leandrojpg em 20/02/2010 - 22:15h

Boa Maran, excelente post eu por exemplo aprendi tudo depois que li seu post.

valeu mesmo, fica na paz irmão. valeu


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts