[Golf] Re: [Cascavel-pm] Localizando "css" em arquivos HTML

Luis Campos de Carvalho lechamps em terra.com.br
Segunda Setembro 15 12:08:35 CDT 2003


Nelson Ferraz wrote:
>>     estou com uma dúvida, possuo vários arquivos em HTML e todos são 
>> formatados apartir de um único arquivo CSS. Tenho encontrado 
>> dificuldades para elaborar um script que localiza-se a seguinte 
>> sentença: class="<identificação>". Depois de localizado seria 
>> interessante que o script elabora-se uma listagem contendo o nome do 
>> arquivo mais que sentenças ele possui.
> 
> 
> #!/usr/bin/perl
> while (<>) {
>   print "$1\n" if /class="(.+?)"/i
> }


   Belo script, Nelson.
   Posso jogar um pouquinho de Perl Golf com ele?

   Pode ser mais útil ainda assim:

   perl -ne 'print "$1\n" if/class\s*=\s*"([^\"]+)"/i;'

   ******************************************************
   Pergunta: a classe de caracteres expressa por qr/[\"]/ contém um 
('"') ou dois ('"', '\') caracteres? E quantos caracteres tem a classe 
de caracteres expressa por qr/[^\"]/ ?
   ******************************************************

   De volta à vaca-fria, o programa vai ficar ainda mais rápido assim, 
embora fique feio (IMHO):

   perl -ne 'print "$1\n" if /[Cc][Ll][Aa][Ss][Ss]\s*=\s*"([^\"]+)"/;'

   E pode ficar menos bagunçado se você usar o sort(1) para organizar as 
coisas:

   perl -ne 'print "$1\n" if/class="([^\"]+)"/i;' < filename.html | sort -u

   (lembrem-se: tudo isto é uma única linha de comando!)

   Parabéns pela solução *simples* para o problema, Nelson!
   Boa sorte com o HTML, Flávio!
   []'z!
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
   Luis Campos de Carvalho is Computer Scientist,
   PerlMonk [SiteDocClan], Cascavel-pm Moderator,
   Unix Sys Admin && Certified Oracle DBA
   http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=




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