[Cascavel-pm] Script em Perl
rafamv1
rafamv1 em ig.com.br
Terça Fevereiro 27 07:45:02 PST 2007
no meu continua removendo todo o conteúdo. Veja o meu script:
--------------------------------------------------------------------
#!/usr/bin/perl -i.bkp -p
BEGIN{
$|=1;
push em ARGV, "/etc/squid/arquivos/liberados/dl_geral";
print{STDOUT}"Insira o site a ser removido: \n";
chomp ($site=<>);
}
print {STDOUT}"site $& removido com sucesso\n", undef$_ if/^$site$/
-------------------------------------------------------------------
Em (12:03:19), Cascavel Perl Mongers escreveu:
>Aqui não... aqui ele remove só a linha q cabe na expressão:
>
>fernando em FCORREA ~
>$ cat sites.teste
>www.google.com
>www.uol.com.br
>www.globo.com
>www.lalala.org
>www.kernel.org
>www.perlmonks.org
>www.pudim.com
>
>fernando em FCORREA ~
>$ arq2.pl
>Insira o site a ser removido: www.globo.com
>site www.globo.com removido com sucesso
>
>fernando em FCORREA ~
>$ cat sites.teste
>www.google.com
>www.uol.com.br
>www.lalala.org
>www.kernel.org
>www.perlmonks.org
>www.pudim.com
>
>fernando em FCORREA ~
>$
>
>Em 27/02/07, rafamv1 escreveu:
>>
>> Continua removendo todo o conteúdo.
>>
>> Em (11:52:17), Cascavel Perl Mongers escreveu:
>>
>>
>> >foi mau... na verdade ficaria assim:
>> >
>> >#!perl -i.bkp -p
>> >BEGIN{$|=1;push
>> >@ARGV,"/etc/squid/arquivos/liberados/dl_geral";print{STDOUT}"Insira o
>> >site a ser removido: ";chomp($site= )}print{STDOUT}"site $&
>> >removido com sucesso\n",undef$_ if/^$site$/
>> >
>> >Em 27/02/07, rafamv1 escreveu:
>> >>
>> >> O Script removeu todo o conteúdo do arquivo.
>> >>
>> >> Em (11:45:17), Cascavel Perl Mongers escreveu:
>> >>
>> >>
>> >> >tá faltando o nome do arquivo...
>> >> >
>> >> >push @ARGV, "/etc/squid/arquivos/liberados/dl_geral";
>> >> >
>> >> >e aqui: $site=shift; vc tá escrevendo por cima da variavel...
>> >> >ficaria assim:
>> >> >
>> >> >#!/usr/bin/perl -i.bkp -p
>> >> >BEGIN{push @ARGV, "/etc/squid/arquivos/liberados/dl_geral";print
>> >> >"Insira o site a ser removido:\n";chomp($site=<>);print{STDOUT}"site
>> >> >$& removido com sucesso\n",undef$_ if/^$site$/
>> >> >
>> >> >Em 27/02/07, rafamv1 escreveu:
>> >> >> Alterei o script mas não remove o site do arquivo.. Ficou assim:
>> >> >> #!/usr/bin/perl -i.bkp -p
>> >> >> BEGIN{push
>> >> >> print "Insira o site a ser removido: \n"
>> >> >> $site = ;
>> >> >> chomp $site;
>> >> >>
>> >>
>>
>>>@ARGV,"/etc/squid/arquivos/liberados/dl_geral";$site=shift}print{STDOUT}"site
>> >> >> $& removido com sucesso\n",undef$_ if/^$site$/
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> Em (11:31:37), Cascavel Perl Mongers escreveu:
>> >> >>
>> >> >>
>> >> >> >vc tem q passar o site como parametro... por exemplo:
>> >> >> >
>> >> >> >./remove_site.pl URL
>> >> >> >
>> >> >> >Em 27/02/07, rafamv1 escreveu:
>> >> >> >>
>> >> >> >> criei o script abaixo, ele executa mas não altera em nada o
>arquivo
>> >e
>> >> >nem
>> >> >> >> me pede o site para remoção.
>> >> >> >>
>> >> >> >> Em (11:21:27), Cascavel Perl Mongers escreveu:
>> >> >> >>
>> >> >> >>
>> >> >> >> >#!/usr/bin/perl -i.bkp -p
>> >> >> >> >BEGIN{push
>> >> >> >>
>> >> >>
>> >>
>>
>>>>>@ARGV,"/etc/squid/arquivos/liberados/dl_geral";$site=shift}print{STDOUT}"site
>> >> >> >> >$& removido com sucesso\n",undef$_ if/^$site$/
>> >> >> >> >
>> >> >> >> >Em 27/02/07, rafamv1 escreveu:
>> >> >> >> >> Cara, não consegui colocar seu script para funcionar. Tentei
>> >criar
>> >> >um
>> >> >> >> >> arquivo .pl com o conteúdo, mas não funcionou.
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >> Em (10:45:25), Cascavel Perl Mongers escreveu:
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >> >pode...
>> >> >> >> >> >
>> >> >> >> >> >Em 27/02/07, rafamv1 escreveu:
>> >> >> >> >> >> Mas eu posso colocar esse script que você mandou em um
>> arquivo
>> >> >.pl
>> >> >> ?
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >> Em (10:31:14), Cascavel Perl Mongers escreveu:
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >> >E pq vc não usa algo parecido com o script q eu mandei?!
>ele
>> >> faz
>> >> >> >> >> >> >exatamente isso q vc falou...
>> >> >> >> >> >> >
>> >> >> >> >> >> >repetindo:
>> >> >> >> >> >> >
>> >> >> >> >> >> >perl -i.bkp -pe 'BEGIN{push
>> >> >> >> >> >> >@ARGV,"/etc/squid/arquivos/liberados/dl_geral";$s
>> >> >> >> >> >> >ite=shift}print{STDOUT}"site $& removido com
>> >sucesso\n",undef$_
>> >> >> >> >> >> >if/^$site$/' SITE
>> >> >> >> >> >> >
>> >> >> >> >> >> >Em 27/02/07, rafamv1 escreveu:
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> Oi André, estou tentando aprimorar meus conhecimentos.
>> >> >Qualquer
>> >> >> >> >> >sujestão
>> >> >> >> >> >> >de
>> >> >> >> >> >> >> site ou livro que você puder me passar, será uma boa
>> ajuda.
>> >> >> >Quanto
>> >> >> >> >ao
>> >> >> >> >> >> >> script, eu não quero criar um outro arquivo mas remover
>o
>> >> site
>> >> >> >> >> digitado
>> >> >> >> >> >> >como
>> >> >> >> >> >> >> argumento para a variável $site da lista dl_geral.
>Recebi
>> o
>> >> >> >script
>> >> >> >> >> >> abaixo,
>> >> >> >> >> >> >> no entanto ele remove todo o conteúdo do arquivo. Acho
>que
>> >> >seria
>> >> >> >o
>> >> >> >> >> >> >">"...mas
>> >> >> >> >> >> >> não estou entendendo a lógica de como retirar do
arquivo
>> >> >apenas
>> >> >> o
>> >> >> >> >> >> conteúdo
>> >> >> >> >> >> >> de $site.
>> >> >> >> >> >> >>
>----------------------------8<----------------------------
>> >> >> >> >> >> >> #!/usr/bin/perl
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> use warnings;
>> >> >> >> >> >> >> use strict;
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> my $arquivo = '/etc/squid/arquivos/liberados/dl_geral';
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> open(LIBERADOS,$arquivo) or die "Nao pode abrir o
>arquivo
>> >> >> >$arquivo:
>> >> >> >> >> >$!";
>> >> >> >> >> >> >> my @linhas = ;
>> >> >> >> >> >> >> close (LIBERADOS);
>> >> >> >> >> >> >> print "@linhas\n";
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> # leitura
>> >> >> >> >> >> >> print "Insira o site a ser removido: ";
>> >> >> >> >> >> >> my $site = ;
>> >> >> >> >> >> >> chomp $site;
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> # execução
>> >> >> >> >> >> >> open(LIBERADOS,">",$arquivo) or die "Nao pode abrir o
>> >arquivo
>> >> >> >> >> $arquivo:
>> >> >> >> >> >> >$!";
>> >> >> >> >> >> >> foreach my $linha (@linhas){
>> >> >> >> >> >> >> if ($linha eq $site){
>> >> >> >> >> >> >> print "O site $site foi removido com sucesso\n";
>> >> >> >> >> >> >> }
>> >> >> >> >> >> >> else{
>> >> >> >> >> >> >> print LIBERADOS "$linha\n";
>> >> >> >> >> >> >> }
>> >> >> >> >> >> >> }
>> >> >> >> >> >> >> close(LIBERADOS) or die "Nao pode fechar o arquivo
>> >$arquivo:
>> >> >> $!";
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> else {
>> >> >> >> >> >> >> open ( LIBERADOS,">>$arquivo" ) or die ( "Nao pode
abrir
>o
>> >> >> >arquivo
>> >> >> >> >> >> >> $arquivo: $!" );
>> >> >> >> >> >> >> print ( LIBERADOS "\n$site" );
>> >> >> >> >> >> >> close ( LIBERADOS ) or die ( "Nao pode fechar o arquivo
>> >> >> $arquivo:
>> >> >> >> >$!"
>> >> >> >> >> >> >> );
>> >> >> >> >> >> >> system("squid -k reconfigure");
>> >> >> >> >> >> >> print " O site foi adicionado com sucesso.\n";
>> >> >> >> >> >> >> }
>> >> >> >> >> >> >>
>---------------------------->8----------------------------
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> Em (08:28:49), Cascavel Perl Mongers escreveu:
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> >Oi Rafael
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> #!/usr/bin/perl
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> use warnings;
>> >> >> >> >> >> >> >> use strict;
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> my $arquivo =
>'/etc/squid/arquivos/liberados/dl_geral';
>> >> >> >> >> >> >> >> open ( LIBERADOS,$arquivo ) or die ( "Nao pode abrir
>o
>> >> >> >arquivo:
>> >> >> >> >$!"
>> >> >> >> >> >);
>> >> >> >> >> >> >> >Precisa melhorar o seu tratamento de erros... quem
sabe
>> >com
>> >> >um
>> >> >> >> >> >> >> >eval(perldoc.perl.org/functions/) pra
>> >> >> >> >> >> >> >começar...(quem tiver idéia melhor, por favor não
deixe
>> de
>> >> >> >> postar).
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> my @linhas = ;
>> >> >> >> >> >> >> >> close (LIBERADOS);
>> >> >> >> >> >> >> >> print "@linhas\n";
>> >> >> >> >> >> >> >> print "Insira o site a ser removido: ";
>> >> >> >> >> >> >> >> my $site = ;
>> >> >> >> >> >> >> >> chomp $site;
>> >> >> >> >> >> >> >> open ( LIBERADOS,">>$arquivo" ) or die ( "Nao pode
>> abrir
>> >o
>> >> >> >> >arquivo:
>> >> >> >> >> >> $!"
>> >> >> >> >> >> >> );
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >Quando você abre com '>>', significa que você
>adicionará
>> >> >coisas
>> >> >> >no
>> >> >> >> >> >> >> >arquivo... Se você quiser abrir um novo
>> >> >> >> >> >> >> >arquivo(se é que eu entendi o seu objetivo), você deve
>> >abrir
>> >> >> com
>> >> >> >> >> >">"(um
>> >> >> >> >> >> >> >"sinal de maior" apenas). Desse modo
>> >> >> >> >> >> >> >você perderá o conteúdo que estava lá(portanto
cuidado,
>> >faça
>> >> >um
>> >> >> >> >> backup
>> >> >> >> >> >> se
>> >> >> >> >> >> >> >for fazer isso).
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> my $linhas = "@linhas";
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >Posso estar errado, mas não seria melhor ter um
>'foreach'
>> >ou
>> >> >um
>> >> >> >> >'map'
>> >> >> >> >> >> por
>> >> >> >> >> >> >> >aqui????
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >> if ($linhas =~ $site) {
>> >> >> >> >> >> >> >> #delete (LIBERADOS $site};
>> >> >> >> >> >> >> >> s/$site/funcionou/gi;
>> >> >> >> >> >> >> >> print "O site $site foi removido com sucesso\n";
>> >> >> >> >> >> >> >> close ( LIBERADOS ) or die ( "Nao pode fechar o
>> arquivo:
>> >> >$!"
>> >> >> >);
>> >> >> >> >> >> >> >> }
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> else {
>> >> >> >> >> >> >> >> open ( LIBERADOS,">>$arquivo" ) or die ( "Nao pode
>> abrir
>> >o
>> >> >> >> >arquivo:
>> >> >> >> >> >> $!"
>> >> >> >> >> >> >> );
>> >> >> >> >> >> >> >> print ( LIBERADOS "\n$site" );
>> >> >> >> >> >> >> >> close ( LIBERADOS ) or die ( "Nao pode fechar o
>> arquivo:
>> >> >$!"
>> >> >> >);
>> >> >> >> >> >> >> >> system("squid -k reconfigure");
>> >> >> >> >> >> >> >> print " O site foi adicionado com sucesso.\n";
>> >> >> >> >> >> >> >> }
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> Rafael Lebrao Martins.
>> >> >> >> >> >> >> >> Cursando Ciências Contábeis.
>> >> >> >> >> >> >> >> Universidade Estadual Do
>> >> >> >> >> >> >> >> Sudoeste Da Bahia.
>> >> >> >> >> >> >> >> Microsoft Certified
>> >> >> >> >> >> >> >> Professional
>> >> >> >> >> >> >> >> 70-271:Supporting Users and
>> >> >> >> >> >> >> >> Troubleshooting a Microsoft(r)
>> >> >> >> >> >> >> >> Windows(r) XP Operating System
>> >> >> >> >> >> >> >> TEL - (77) 9989-6327
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> E-mail classificado pelo Identificador de Spam
>> >Inteligente
>> >> >> >> Terra.
>> >> >> >> >> >> >> >> Para alterar a categoria classificada, visite
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>>
>>>>>>>>http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=andre.garcia.carneir&_l=1,1172529719.159984.10939.alcala.hst.terra.com.br,5572,Des15,Des15
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> Esta mensagem foi verificada pelo E-mail Protegido
>> >Terra.
>> >> >> >> >> >> >> >> Scan engine: McAfee VirusScan / Atualizado em
>> 26/02/2007
>> >/
>> >> >> >> >Versão:
>> >> >> >> >> >> >> >5.1.00/4971
>> >> >> >> >> >> >> >> Proteja o seu e-mail Terra:
http://mail.terra.com.br/
>> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >--
>> >> >> >> >> >> >> >André Garcia Carneiro
>> >> >> >> >> >> >> >Developer(Perl/PHP)
>> >> >> >> >> >> >> >Member of "São Paulo Perl Mongers" -
>> >http://sao-paulo.pm.org
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >_______________________________________________
>> >> >> >> >> >> >> >Cascavel-pm mailing list
>> >> >> >> >> >> >> >Cascavel-pm em pm.org
>> >> >> >> >> >> >> >http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >----------
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> _______________________________________________
>> >> >> >> >> >> >> Cascavel-pm mailing list
>> >> >> >> >> >> >> Cascavel-pm em pm.org
>> >> >> >> >> >> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >> >> >> >> >> >>
>> >> >> >> >> >> >
>> >> >> >> >> >> >--
>> >> >> >> >> >> >[]'s Fernando
>> >> >> >> >> >> >_______________________________________________
>> >> >> >> >> >> >Cascavel-pm mailing list
>> >> >> >> >> >> >Cascavel-pm em pm.org
>> >> >> >> >> >> >http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >> >> >> >> >> >
>> >> >> >> >> >> >----------
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >> >> _______________________________________________
>> >> >> >> >> >> Cascavel-pm mailing list
>> >> >> >> >> >> Cascavel-pm em pm.org
>> >> >> >> >> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >> >> >> >> >>
>> >> >> >> >> >
>> >> >> >> >> >--
>> >> >> >> >> >[]'s Fernando
>> >> >> >> >> >_______________________________________________
>> >> >> >> >> >Cascavel-pm mailing list
>> >> >> >> >> >Cascavel-pm em pm.org
>> >> >> >> >> >http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >> >> >> >> >
>> >> >> >> >> >----------
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >> _______________________________________________
>> >> >> >> >> Cascavel-pm mailing list
>> >> >> >> >> Cascavel-pm em pm.org
>> >> >> >> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >> >> >> >>
>> >> >> >> >
>> >> >> >> >--
>> >> >> >> >[]'s Fernando
>> >> >> >> >_______________________________________________
>> >> >> >> >Cascavel-pm mailing list
>> >> >> >> >Cascavel-pm em pm.org
>> >> >> >> >http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >> >> >> >
>> >> >> >> >----------
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> _______________________________________________
>> >> >> >> Cascavel-pm mailing list
>> >> >> >> Cascavel-pm em pm.org
>> >> >> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >> >> >>
>> >> >> >
>> >> >> >--
>> >> >> >[]'s Fernando
>> >> >> >_______________________________________________
>> >> >> >Cascavel-pm mailing list
>> >> >> >Cascavel-pm em pm.org
>> >> >> >http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >> >> >
>> >> >> >----------
>> >> >>
>> >> >>
>> >> >>
>> >> >> _______________________________________________
>> >> >> Cascavel-pm mailing list
>> >> >> Cascavel-pm em pm.org
>> >> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >> >>
>> >> >
>> >> >--
>> >> >[]'s Fernando
>> >> >_______________________________________________
>> >> >Cascavel-pm mailing list
>> >> >Cascavel-pm em pm.org
>> >> >http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >> >
>> >> >----------
>> >>
>> >>
>> >>
>> >> _______________________________________________
>> >> Cascavel-pm mailing list
>> >> Cascavel-pm em pm.org
>> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >>
>> >
>> >--
>> >[]'s Fernando
>> >_______________________________________________
>> >Cascavel-pm mailing list
>> >Cascavel-pm em pm.org
>> >http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >
>> >----------
>>
>>
>>
>> _______________________________________________
>> Cascavel-pm mailing list
>> Cascavel-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/cascavel-pm
>>
>
>--
>[]'s Fernando
>_______________________________________________
>Cascavel-pm mailing list
>Cascavel-pm em pm.org
>http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>----------
Mais detalhes sobre a lista de discussão Cascavel-pm