você está aqui: Home  → Arquivo de Mensagens

Bash - uso de chaves para montagem de comandos

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 02 de setembro de 2014

Nesta dica apresento alguns exemplos de uso de chaves ("{" e "}") em bash.

Comando: cp foo.rb{,.bak}``
Resultado: cp foo.rb foo.rb.bak

Comando: vim -p myfile.{c,h}
Resultado: vim -p myfile.c myfile.h

O loop abaixo irá gerar uma sequencia de números de 10 a 20:

  for i in {10..20}
   do
     echo $i
   done

Para renomear diversos arquivos:

  for f in *.mobi
  do
   mv $f ${f/mobi/epub}
  done

O exemplo acima funciona como no sed, a string mobi é substituída pela string epub.

Ainda uma outra forma de fazer a mesma coisa:

  for f in *.mobi
  do
   mv $f ${f%.mobi}.epub
  done

Agradecimentos: Prof. Dr. Arnaldo Mandel, da USP, pela sugestão postada no artigo "ebook-convert: conversão de formato para ebooks", e que é utilizada no último exemplo.



 

 

Veja a relação completa dos artigos de Rubens Queiroz de Almeida

Opinião dos Leitores

Reynaldo
14 Nov 2014, 16:00
O primeiro comando de substituição substitui a primeira ocorrência (da esquerda pra direita) e o último comando só funciona se a substring estiver no final da string.

Exemplos:
~$ test=hojeéodiadodiaqueseriaodiamaisfelizdaminhavida; echo ${test/dia/noite}
hojeéonoitedodiaqueseriaodiamaisfelizdaminhavida
~$ test=hojeéodiadodiaqueseriaodiamaisfelizdaminhavida; echo ${test%dia*}
hojeéodiadodiaqueseriao

Referência: http://www.tldp.org/LDP/abs/html/refcards.html#AEN22828
*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