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: 30.281 ]

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

Samba: Implementando um domínio

Leia, grave e execute!

DansGuardian: Filtrando o acesso a Web

Samba: Integração com ClamAV e outras coisas úteis

Debian/APT- Alguns cuidados com os repósitorios

Leitura recomendada

Boot Seguro LILO

23 distribuições Linux brasileiras

Como escolher sua distro (de forma imparcial)

Debian Constantly Usable Testing (CUT)

Deixando o Ubuntu (ou outra distro) parecido com o Mac OS X

  
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