Tecnologia com opinião   Com Opinião   Tags da Rede   Log in

Usando o for no bash

3 de Setembro de 2008 por Bruno Alves | Na(s) Categoria(s) Linux.
Bash da Wikipedia

Bash da Wikipedia

Muitas vezes temos que interagir com vários arquivos de uma vez só e parece não haver uma maneira fácil de fazer. Porém o bash é um interpretador de comandos, que pode ser usado como uma linguagem de programação.

Se quisermos, por exemplo, fazer a mesma operação com vários arquivos, temos a excelente opção de usar um for para que os comandos sejam executados em todos eles.

Olhando um exemplo real:

Em um diretório, entre outros arquivos, possuía uma série de arquivos xml, que eu precisava comprimir, usando o GZip. Seria fácil rodar o comando:

$ gzip *.xml

Isso resolveria para criar os arquivos comprimidos, porém eu acabaria sem os originais, a maneira mais simples de preservar o arquivo original é direcionar a saída do gzip para o novo arquivo, assim o arquivo original seria preservado. O comando para isso seria:

$ gzip -c 1.xml > 1.xml.gz

Mas fazer isso para 350 arquivos seria muito chato, então resolvi usar um for para isso. O código é bem simples:

$ for filename in *.xml
> do gzip -c $filename > ${filename}.gz
> done

Se quiser usar em apenas uma linha:

for filename in *.xml; do gzip -c $filename > ${filename}.gz; done
Compartilhe:
  • del.icio.us
  • Blue Dot
  • StumbleUpon
  • Google
  • Live
  • dihitt
  • imera
  • linkk
  • linkto
  • Rec6
  • ueba
  • websapiens
  • YahooMyWeb
  • TwitThis
  • E-mail this story to a friend!
Tags: , , , , , , , , , , ,

Artigos Relacionados

Comente

XHTML: Você pode usar as tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>