Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Bash - expansão de caracteres

Colaboração: Rodrigo Bernardo Pimentel

Data de Publicação: 26 de Julho de 2000

Muitas vezes é necessário, em uma linha de comando, repetirem-se palavras quase na íntegra, modificando-se somente um ou outro caracter. Por exemplo:

  # cp ~/.emacs ~/.emacs.bak=

Ou, pior,

  # cp /mnt/usr/share/emacs/20.7/etc/sex.6 /usr/share/emacs/20.7/etc/sex.6

(para alguém que tenha perdido o arquivo, por exemplo)

Bem, para os preguiçosos, mesmo o primeiro exemplo é demais. Então, tentando minimizar ao máximo a quantidade de caracteres digitados, podemos usar um pequeno truque de bash:

  # cp ~/.emacs{,.bak}=

O que isso faz? A palavra que contem as chaves é expandida em duas palavras (neste caso, podem ser mais), separadas por espaço: a primeira contém "~/.emacs" mais o que está entre chaves, antes da primeira vírgula= (nada); a segunda contém "~/.emacs" mais o que está depois da vírgula= (".bak"). O resultado final, expandido pelo bash, seria

  # cp ~/.emacs ~/.emacs.bak=

Outro exemplo seria:

  # cat arq{1,2,3} > arq.final

Ou seja, o equivalente a

  # cat arq1 arq2 arq3 > arq.final

Isso funciona também no meio de da palavra, ou mesmo no começo:

  # cat /home/{rbp,queiroz,rms,torvalds}/.signature
  # diff {/home/rbp/.,/etc/}bashrc

E, finalmente (e um pouco mais confuso), pode haver chaves dentro de chaves:

  # less /usr/doc/{emacs-20.7/{NEWS,README},ed-0.2/NEWS,gnupg-1.0.1/{README,COPYING}}

Que seria expandido para:

  # less /usr/doc/emacs-20.7/NEWS /usr/doc/emacs-20.7/README /usr/doc/ed-0.2/NEWS /usr/doc/gnupg-1.0.1/README /usr/doc/gnupg-1.0.1/COPYING

Veja a relação completa dos artigos de Rodrigo Bernardo Pimentel

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.96/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1164 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Programando o Android