domingo, 26 de julho de 2015

Scripts - Pegar informações

No artigo anterior vimos que as linguagens Bash e Python poderiam ser utilizadas de modo similar, porém algumas vezes é melhor escrever um script em Bash do que em Python e vice-versa. A partir deste, vamos começar a ver alguns Casos de Uso para os scripts.


Abandonei Perl? Pessoalmente não consigo ver qualquer diferença entre Python e Perl, como o mercado chama mais para essa primeira prefiro então fixar esses artigos apenas entre Bash e Python. Porém não espere que ficarei repetindo os scripts entre uma e outra linguagem, tal como fiz até o momento, usarei ambas para diferentes scripts como forma de sempre usarmos o modo mais simples que cada linguagem oferece.

Neste artigo vamos ver como pegar informações para atividades úteis do dia a dia.

1º Problema - Para realizar alguns backups, é necessário criar 10 diretórios, abaixo de um diretório pré-determinado (/backup), com um nome que é definido em cada dia, por exemplo, se o nome for lunes, os diretórios devem ser criados como lunes1, lunes2, e assim sucessivamente.

O seguinte script em Bash resolveria facilmente este problema:
#!/bin/bash
echo "Digite o nome das pastas:"
read NOME
cd "backup/"
for NUM in `seq 1 10`; do
    mkdir "$NOME$NUM"
done
2º Problema - Em cada uma das pastas criadas deve ser criado um arquivo, e dentro deste o seguinte conteúdo: "Backup realizado no dia dd/mm/aaaa às hh:mm", com o nome de data.log. Obviamente, devemos passar para o Script o nome do dia.

Para lidar com arquivos fica mais simples se escrevermos o script em Python, do seguinte modo:
#!/usr/bin/env python
import time
arqDia = raw_input('Nome do arquivo do dia: ')
for num in range(1, 11):
    nomeArq = 'backup/' + arqDia + `num` + '/data.log'
    dataFile = open(nomeArq, 'w')
    dataFile.write("Backup realizado no dia " + time.strftime("%d/%m/%Y") + " as " + time.strftime("%H:%M:%S") + '\n')
    dataFile.close()
print "Arquivos criados"
Ou seja, executando ambos arquivos faríamos uma tarefa que provavelmente gastaríamos um bom tempo para realizá-la diariamente (agora imagine com mais pastas, mais arquivos ou várias vezes ao dia).

Perdoe-me ser repetitivo, mas peço que não interprete que ambos os scripts não poderiam ser escritos tanto em Bash como em Python. E se desejar, faça isso como forma de aprendizado.

Obrigado e até a próxima
Fernando Anselmo

0 comentários:

Postar um comentário