The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Erro Perl dirdamalah Programação Shell Script e 3 06-21-2008 05:32
Perl, imprimindo uma string em colunas doubleminus UNIX para Dummies Perguntas & Respostas 5 05-21-2008 09:41
Erro PERL Asteróide Alto Nível de programação 3 04-25-2008 01:15
imprimindo uma linha vazia em um arquivo (perl) kfad Programação Shell Script e 3 05-07-2005 03:10
Mensagem de erro de impressão do Windows na porta 515 Pauls Sun Solaris 0 12-23-2004 09:51

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 02-11-2009
ccsaviour ccsaviour is offline
Usuário
  
 

Join Date: Feb 2009
Posts: 2
Perl impressão erro

Gurus Scripting oi, eu sou novo em abelha perl, E tentando escrever um script que deve imprimir a disponibilidade de espaço livre no disco C e E drives. Favor consultar um especialista.

Aqui está o script snippet e esperada saída:


#! / usr / bin /perl
use CGI qw /: html3: standard /;
$ spaceuselog \u003d "E: \ \ admin \ \ VOBSpaceUsage \ \ vobspaceusage.log.txt";
$ relatório \u003d "E: \ \ admin \ \ VOBSpaceUsage \ \ vobspaceusage.html";
open (LOG, "> $ relatório") | | die "Erro ao gravar no logfile $ logfile!";
$ datahora \u003d localtime ();
$ count \u003d 0;
vob $ \u003d "";
$ vobsize \u003d 0;
$ totalvobsize + \u003d 0;
vd $ \u003d "";
$ sum \u003d 0;

# @ vobs \u003d `ct lsvob-s-blrcc1 acolhimento»;
@ vobs \u003d ( "\ \ scm_blr_amor","\ \ scm_blr_projects","\ \ scm_blr_misc","\ \ blr_mobile_projects","\ \ blr_mobile_test");
if ($ ENV (SO) \u003d ~ m / Windows /)
(
$ loja \u003d $ ENV (SystemDrive);
open (VSU, "> $ relatório") ou morrer "não pode abrir: $! \ n";
open (VS, ">> $ relatório") ou morrer "não pode abrir: $! \ n";
$ ct \u003d "cleartool";
)
diferente
(
open (VSU, "> E: \ \ admin \ \ VOBSpaceUsage \ \ vobspaceusage.html") ou morrer "não pode abrir: $! \ n";
$ ct \u003d "C: \ \ Arquivos de Programas \ \ Rational \ ClearCase \ \ bin \ \ cleartool.exe";
)
push (@ vsu, start_html ( "Relatório de Uso Vob Espacial"), "\ n");
push (@ vsu, "<p> <b> VOB Backup Process foi concluído com êxito em Backup Servidor: <font color\u003dblue> BLRSTG01 </ font color> </ b>");
push (@ vsu, "O <p> VOBs são backed-up e disponível no local: \ \ blrstg01 \ ClearCase \ Backups pasta. </ p> ");
push (@ vsu, "\ n width\u003dauto <td align\u003d"center"> \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d \u003d \ n ");
push (@ vsu, "<p> <b> VOB Tamanho Situação em VOB Servidor: <font color\u003dblue> BLRCC1 </ font color> </ b> </ p>");
push (@ vsu, "<table border\u003d1 width\u003dauto> \ n");
push (@ vsu, "<tr> \ n");
push (@ vsu, "<td align\u003d"center"> width\u003dauto <b> Vob Nome </ b> </ td> \ n");
push (@ vsu, "<td align\u003d"center"> width\u003dauto <b> Tamanho em MB </ b> </ td> \ n");
push (@ vsu, "<td align\u003d"center"> width\u003dauto <b> tamanho em GB </ b> </ td> \ n");
push (@ vsu, "</ tr> \ n");
push (@ x, "</ table>");

foreach $ vob (@ vobs)
(
$ $ \u003d vobname vob;
chomp ($ vobname);
push (@ vsu, "<tr> \ n");
push (@ vsu, "<td width\u003dauto ALIGN\u003dLEFT> $ vobname </ td> \ n");
@ vbpath \u003d `ct lsvob $ vob»;
foreach $ caminho (@ vbpath)
(
# Print "\ n $ caminho";
$ caminho \u003d ~ s / \ * / /;
$ caminho \u003d ~ s / \ s / /;
# Print "\ n $ caminho";
if ($ path \u003d ~ / \ s (\ \ \ \ [A-Za-z \ \ a-z0-9 \ _ \. \ \ ]*)/)
(
# print "\ nVOBPATH -> $ 1 \ n";
$ cdft \u003d "$ 1 \ \ c \ \ cdft";
# print LOG "\ t $ cdft";
$ ddft \u003d "$ 1 \ \ d \ \ ddft";
# print LOG "\ t $ ddft";
$ db \u003d "$ 1 \ \ db";
# print LOG "\ t $ db";
$ sdft \u003d "$ 1 \ \ s \ \ sdft";
# print "\ n Fonte Pool ---> $ sdft";
vobpath $ \u003d $ 1;
# print "\ nVOBPath >>>>>>>$ vobpath";
)
)
@ totspace \u003d `diruse / m $ vobpath»;
@ a \u003d split ( "", $ totspace [-1]);
$ $ um totalvobsize \u003d [0];
# Print LOG "\ t \ t $ totalvobsize";
push (@ vsu, "<td align\u003d"center"> width\u003dauto $ totalvobsize </ td> \ n");
totalGBsize $ \u003d ($ totalvobsize / 1024);
# Print LOG "\ t \ t $ totalGBsize";
push (@ vsu, "<td align\u003d"center"> width\u003dauto $ totalGBsize </ td> \ n");

)
# push (@ vs ", <p> a utilização do disco de <b> C </ b> Unidade </ p> \ n");

# push (@ vs ", <p> a utilização do disco de <b> E </ b> Drive (VOBs Armazenamento incluído) </ p> \ n");
# foreach (@ msg)
# (
# Print $ _;
#)
foreach (@ vsu)
(
imprimir LOG;
)
# push (@ vsu, <table>);
foreach (@ vs)
(
imprimir LOG;
imprimir RLOG;
)
open (RLOG, "<E: \ \ Backups \ \ log \ \ rlog.txt");
@ rlog \u003d <RLOG>;
for (@ rlog) (
# Print if / Disk Usage / .. 0
push (@ du, $ _) if / Disk Usage / .. 0
)
$ vi \u003d 1;
foreach $ line (@ du)
(
# @ Novo \u003d split (/ \ s /,$_);
chomp ($ linha);
# Print "\ n $ line";
if (($ linha \u003d ~ / ^ [0-9] * /) & & ($ linha \u003d ~ / livre $ /))
(
@ val \u003d split (/ \ s /, $ linha);
$ novo \u003d $ val [0];
$ novo \u003d sprintf "% .2 f", $ novo;
# Print "\ ni am transformação info unidade C, o valor da nova variável é de R $ novo";
if ($ novo <100,00)
(
print "\ nO Espaço em BLRCC1 unidade C é inferior a 100 GB, Please Upgrade / Liberte algum espaço no disco";
)
# Else
# (
print "\ nO disponível espaço livre na unidade C é BLRCC1 $ novo";
#)
$ val [0] \u003d 0;
$ vi \u003d 0;
)
$ vi \u003d 2;
# Print "\ nLooped: $ visto \ n";
if (($ linha \u003d ~ / ^ [0-9] * /) & & ($ linha \u003d ~ / livre $ /) & & ($ visto \u003d\u003d 2))
(
@ val \u003d split (/ \ s /, $ linha);
Raghu $ \u003d $ val [0];
# Print "\ nValue é de US $ val [0] \ n";
Raghu $ \u003d sprintf "% .2 f", $ Raghu;
# Print "\ ni sou transformação E info unidade, o valor da nova variável é de R $ Raghu";
if ($ Raghu <100,00)
(
print "\ nO Espaço em BLRCC1 E unidade é inferior a 100 GB, Please Upgrade / Liberte algum espaço no disco";
)
# Else
# (
print "\ nO disponível espaço livre na unidade é de R $ BLRCC1 E Raghu";
#)
)
print LOG "<p> $ linha </ p>";
push (@ vs ", <p> $ linha </ p> \ n");
)
fechar RLOG;
fechar LOG;
fechar VS;
fechar VSU;

Agora estou começando a saída como mostrado abaixo:

O espaço livre disponível na unidade C BLRCC1 é 103,82
O espaço livre disponível na unidade é BLRCC1 E 103,82
O espaço livre disponível na unidade C BLRCC1 é 145,17
O espaço livre disponível na unidade é BLRCC1 E 145,17

Esperado de saída:

O espaço livre disponível na unidade C BLRCC1 é 103,82
O espaço livre disponível na unidade é BLRCC1 E 145,17
  #2 (permalink)  
Old 02-11-2009
JerryHone JerryHone is offline
Usuário
  
 

Join Date: Nov 2006
Localização: Reino Unido
Lugares: 178
Sua saída está dentro do "foreach $ line (@ du)" loop, por isso, se @ du tem dois elementos, você vai ter o dobro de saída.

HTH

Jerry
  #3 (permalink)  
Old 02-12-2009
KevinADC KevinADC is offline Forum Advisor  
Usuário
  
 

Join Date: Jan 2008
Lugares: 731
Da próxima vez use o código tags e pós formatado código. Tentar ler muito unformatted código que é muito difícil. Eu acho que Jerry tem manchado o problema embora.
  #4 (permalink)  
Old 02-12-2009
ccsaviour ccsaviour is offline
Usuário
  
 

Join Date: Feb 2009
Posts: 2
Perl imprimir erro

Oi Kelvin e Jerry,

Obrigado pela sua produção. Eu vou aderir no futuro.

Espero que não deve haver mais duas condições e de bandeira ($ visto) será válido para ambos os casos e, portanto, ela imprime duas vezes em cada ciclo.

Obrigado novamente,
ccsaviour
  #5 (permalink)  
Old 02-12-2009
KevinADC KevinADC is offline Forum Advisor  
Usuário
  
 

Join Date: Jan 2008
Lugares: 731
Você não pode ter mais duas condições em perl. Você pode ter:

if / elsif / else

com tantas' elsif 'como condições necessárias e as' mais' no final é opcional
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 02:09.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0