[Cascavel-pm] Comparacao de diretorios e manipulacao de arquivos.

Leandro Costa lscosta em uninet.com.br
Sexta Fevereiro 27 15:43:05 CST 2004


Como estou desenvolvendo na minha intranet
Nao tem como dar acesso a voce ...
Mais estou enviando um teste.tar.gz onde contem minha plataforma de teste ok
!

obs.: tbem queria explicacao do codigo.

Grato
Leandro

----- Original Message ----- 
From: "Luis Campos de Carvalho" <lechamps em terra.com.br>
To: "Cascavel Perl Mongers" <cascavel-pm em mail.pm.org>
Sent: Friday, February 27, 2004 3:30 PM
Subject: Re: [Cascavel-pm] Comparacao de diretorios e manipulacao de
arquivos.



   Boa tentativa, Nelson.
   Mas tenho quase certeza de que o problema do Leandro já foi resolvido
trilhões de vezes.

   :)

   Leandro, você precisa do GNU Make, o construtor de sistemas da GNU, e
de um Makefile suficientemente bom.

   Acho que se você puder me oferecer informações sobre a localização
dos arquivos, e sobre o caminho em disco para seus programas, posso
fazer o Makefile que você precisa daqui. Depois, basta dizer

   $ make t2t

   e deixar o Make determinar quais arquivos mudaram, quais precisam ser
gerados novamente, e em quais não se precisa mexer... (:

   Ah! Eu acho que o makefile anexo deve resolver seu problema, ou quase
isso. É texto ASCII, e acho que você precisa mudar algumas coisas.

   Estou confiando que você usa Linux ou outro *nix, se esse não for seu
caso precisamos fazer pequenas alterações.

   Não testei o script, mas deve funcionar sem maiores problemas.
   Se eu puder ajudar mais, é só falar!
   Putamplexos!

Nelson Ferraz wrote:
> Leandro Costa wrote:
>
>> Entao o script que preciso desenvolver:
>>
>> Seria o seguinte:
>
>
> foreach my $tt2 (@ARGV) {
>   my ($html) = $tt2 =~ s/\.tt2/\.html/i;
>
>   my $tt2_mtime  = (stat($tt2))[9];
>   my $html_mtime = (stat($html))[9];
>
>> - primeiro ele verifica se jah existe o arquivo html
>> -arquivo html  existe ?
>
>   if (-f $html) {
>
>>     Sim - verifca a data do arquivo .t2t  data maior ? "executa $
>> txt2tags -t html nomedoarquivo.t2t"   - data menor nao faz nada.
>
>     if ($tt2_mtime > $html_mtime) {
>       system("txt2tags -t html $tt2");
>     }
>
>>     Nao - $ txt2tags -t html nomedoarquivo.t2t
>
>   } else {
>     system("txt2tags -t html $tt2");
>   }
> }
>
> Para executar o script acima, você deve passar os nomes de arquivo
> através da linha de comando. Exemplo: ./script.pl *.tt2
>
> Talvez você prefira reescrever todos os ifs/elses da seguinte forma:
>
> if (!-f $html or $tt2_mtime > $html_mtime) {
>   system("txt2tags -t html $tt2");
> }
>
> Em outras palavras: execute o comando se o arquivo html não existe, OU
> se a data do arquivo tt2 for maior que a do arquivo html.
>
> OBS - eu não testei nenhuma parte deste código.
>

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
   Luis Campos de Carvalho is BSc in Comp Science,
   PerlMonk [SiteDocClan], Cascavel-pm Moderator,
   Unix Sys Admin && Certified Oracle DBA
   http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=



----------------------------------------------------------------------------
----


# Makefile para resolver o problema do Leandro Costa, da lista
# dos Cascavel Perl Mongers.
#
# Por Luis 'Champs' de Carvalho, <lechamps em terra.com.br>
#
# Este programa é Open-Source, e deve ser distribuído de acordo
# com os Termos da GPL.
#

#
# Primeiro, configuracao
#
TXT2TAGS=/caminho/para/o/txt2tags
T2TARGS="-parametros -para -o -txt2tags"
HTML_DIR=/caminho/para/os/arquivos.html
HTML_EXT=".html"
T2T_DIR=/caminho/para/os/arquivos.t2t
T2T_EXT=".t2t"
FIND=/usr/bin/find

# Nao mexa daqui para baixo, por favor.
ARTIFACTS=$(shell $(FIND) $(HTML_DIR) -type f -name $(HTML_EXT) -print)

.DEFAULT: t2t

t2t: $(ARTIFACTS)

$(ARTIFACTS): %$(HTML_EXT): %$(T2T_EXT)
$(TXT2TAGS) -t html $<
# EOF


----------------------------------------------------------------------------
----


_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em mail.pm.org
http://cascavel.pm.org/mailman/listinfo/cascavel-pm
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : teste.tar.gz
Tipo  : application/x-gzip
Tam   : 36014 bytes
Descr.: não disponível
Url   : http://mail.pm.org/pipermail/cascavel-pm/attachments/20040227/343553e7/teste.tar.bin


Mais detalhes sobre a lista de discussão Cascavel-pm