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" done2º 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