The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Perl Feil dirdamalah Shell programmering og Skripting 3 06-21-2008 05:32
Perl, utskrift av en streng i kolonnene doubleminus UNIX for Dummies Spørsmål og svar 5 05-21-2008 09:41
PERL Feil Asteroid High Level Programmering 3 04-25-2008 01:15
skrive ut en tom linje i en fil (perl) kfad Shell programmering og Skripting 3 05-07-2005 03:10
Feilmelding utskrift til Windows på port 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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 02-11-2009
ccsaviour ccsaviour is offline
Registrert bruker
  
 

Bli Date: Feb 2009
Innlegg: 2
Perl utskrift feil

Hi Skripting Gurus Jeg er ny bie i perl, Og prøver å skrive et skript som må skrive ut ledig diskplass tilgjengeligheten av C og E-stasjoner. Vær råd.

Her er scriptet tekstutdraget og forventet produksjon:


#! / usr / bin /perl
bruk CGI qw /: html3: standard /;
$ spaceuselog \u003d "E: \ \ admin \ \ VOBSpaceUsage \ \ vobspaceusage.log.txt";
$ rapport \u003d "E: \ \ admin \ \ VOBSpaceUsage \ \ vobspaceusage.html";
åpen (LOG "> $ rapporten") | | die "Feil ved skriving til logfile $ logfile!";
$ datetime \u003d Localtime ();
$ teller \u003d 0;
$ VOB \u003d "";
$ vobsize \u003d 0;
$ totalvobsize + \u003d 0;
$ vd \u003d "";
$ sum \u003d 0;

# @ vobs \u003d `ct lsvob-s-verten blrcc1`;
@ vobs \u003d ( "\ \ scm_blr_amor","\ \ scm_blr_projects","\ \ scm_blr_misc","\ \ blr_mobile_projects","\ \ blr_mobile_test");
if ($ konv (OS) \u003d ~ m / Windows /)
(
$ store \u003d $ konv (SystemDrive);
åpen (VSU, "> $ rapporten") eller dø "Kan ikke åpne: $! \ n";
åpen (VS, ">> $ rapporten") eller dø "Kan ikke åpne: $! \ n";
$ ct \u003d "cleartool";
)
ellers
(
åpen (VSU "> E: \ \ admin \ \ VOBSpaceUsage \ \ vobspaceusage.html") eller dø "Kan ikke åpne: $! \ n";
$ ct \u003d "C: \ \ Program Files \ \ Rational \ \ ClearCase \ \ bin \ \ cleartool.exe";
)
push (@ vsu, start_html ( "VOB Space Usage Report"), "\ n");
push (@ vsu, "<p> <b> VOB Backup Process fullført på Backup Server: <font color\u003dblue> BLRSTG01 </ font color> </ b>");
push (@ vsu, "<p> VOBs er sikkerhetskopiert og tilgjengelig på stedet: \ \ blrstg01 \ Clearcase \ sikkerhetskopier mappe. </ p> ");
push (@ vsu, "\ n <td width\u003dauto align\u003dcenter> \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 Størrelse Status på VOB Server: <font color\u003dblue> BLRCC1 </ font color> </ b> </ p>");
push (@ vsu "<table border\u003d1 width\u003dauto> \ n");
push (@ vsu, "<tr> \ n");
push (@ vsu "<td width\u003dauto align\u003dcenter> <b> VOB Navn </ b> </ td> \ n");
push (@ vsu "<td width\u003dauto align\u003dcenter> <b> Størrelse i MB </ b> </ td> \ n");
push (@ vsu "<td width\u003dauto align\u003dcenter> <b> Størrelse i GB </ b> </ td> \ n");
push (@ vsu, "</ tr> \ n");
push (@ vs "</ table>");

foreach $ VOB (@ vobs)
(
$ vobname \u003d $ VOB;
chomp ($ vobname);
push (@ vsu, "<tr> \ n");
push (@ vsu "<td width\u003dauto align\u003dleft> $ vobname </ td> \ n");
@ vbpath \u003d `ct lsvob $ VOB`;
foreach $ banen (@ vbpath)
(
# Print "\ n $ banen";
$ path \u003d ~ s / \ * / /;
$ path \u003d ~ s / \ s / /;
# Print "\ n $ banen";
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 Kilde Pool ---> $ sdft";
$ vobpath \u003d $ 1;
# print "\ nVOBPath >>>>>>>$ vobpath";
)
)
@ totspace \u003d `diruse / m $ vobpath`;
@ a \u003d split ( "", $ totspace [-1]);
$ totalvobsize \u003d $ a [0];
# Print LOG "\ t \ t $ totalvobsize";
push (@ vsu "<td width\u003dauto align\u003dcenter> $ totalvobsize </ td> \ n");
$ totalGBsize \u003d ($ totalvobsize / 1024);
# Print LOG "\ t \ t $ totalGBsize";
push (@ vsu "<td width\u003dauto align\u003dcenter> $ totalGBsize </ td> \ n");

)
# push (@ vs "<p> Disk Usage <b> C </ b> Drive </ p> \ n");

# push (@ vs "<p> Disk Usage <b> E </ b> Drive (VOBs Storage inkludert) </ p> \ n");
# foreach (@ msg)
# (
# Print $ _;
#)
foreach (@ vsu)
(
print LOG;
)
# push (@ vsu, <table>);
foreach (@ vs)
(
print LOG;
print RLOG;
)
åpen (RLOG, "<E: \ \ sikkerhetskopier \ \ logg \ \ rlog.txt");
@ rlog \u003d <RLOG>;
for (@ rlog) (
# Print hvis / Disk Usage / .. 0
push (@ du, $ _) hvis / Disk Usage / .. 0
)
$ sett \u003d 1;
foreach $ line (@ du)
(
# @ Nye \u003d split (/ \ s /,$_);
chomp ($ line);
# Print "\ n $ linje";
if (($ line \u003d ~ / ^ [0-9] * /) & & ($ line \u003d ~ / gratis $ /))
(
@ val \u003d split (/ \ s /, $ line);
$ ny \u003d $ val [0];
$ ny \u003d sprintf "% .2 f", $ ny;
# Print "\ ni am behandlingen C stasjonen info, verdien av nye variabelen $ nye";
if ($ nytt <100,00)
(
print "\ nDe ledig plass på BLRCC1 C-stasjonen er mindre enn 100 GB, Oppgrader / Frigjør plass på harddisken";
)
# Else
# (
print "\ nDe ledig plass på BLRCC1 C-stasjonen er $ nye";
#)
$ val [0] \u003d 0;
$ sett \u003d 0;
)
$ sett \u003d 2;
# Print "\ nLooped: $ sett \ n";
if (($ line \u003d ~ / ^ [0-9] * /) & & ($ line \u003d ~ / gratis $ /) & & ($ sett \u003d\u003d 2))
(
@ val \u003d split (/ \ s /, $ line);
$ raghu \u003d $ val [0];
# Print "\ nValue er $ val [0] \ n";
$ raghu \u003d sprintf "% .2 f", $ raghu;
# Print "\ ni am behandlingen E stasjonen info, verdien av nye variabelen $ raghu";
if ($ raghu <100,00)
(
print "\ nDe ledig plass på BLRCC1 E stasjonen er mindre enn 100 GB, Oppgrader / Frigjør plass på harddisken";
)
# Else
# (
print "\ nDe ledig plass på BLRCC1 E stasjonen $ raghu";
#)
)
print LOG "<p> $ linje </ p>";
push (@ vs "<p> $ linje </ p> \ n");
)
close RLOG;
close LOG;
close VS;
close VSU;

Akkurat nå er jeg får utgang som vist nedenfor:

Det ledig plass på BLRCC1 C stasjonen 103,82
Det ledig plass på BLRCC1 E stasjonen 103,82
Det ledig plass på BLRCC1 C stasjonen 145,17
Det ledig plass på BLRCC1 E stasjonen 145,17

Forventet produksjon:

Det ledig plass på BLRCC1 C stasjonen 103,82
Det ledig plass på BLRCC1 E stasjonen 145,17
  #2 (permalink)  
Old 02-11-2009
JerryHone JerryHone is offline
Registrert bruker
  
 

Bli Dato: november 2006
Sted: UK
Innlegg: 178
Ditt utdataene inni "foreach $ line (@ du)" løkke, så hvis @ du har to elementer, vil du få den output to ganger.

HTH

Jerry
  #3 (permalink)  
Old 02-12-2009
KevinADC KevinADC is offline Forum Advisor  
Registrert bruker
  
 

Bli Date: Jan 2008
Innlegg: 731
Neste gang bruker koden koder og innlegg formatert kode. Prøver å lese så mye uformatert koden er for vanskelig. Jeg tror han har sett problemet selv.
  #4 (permalink)  
Old 02-12-2009
ccsaviour ccsaviour is offline
Registrert bruker
  
 

Bli Date: Feb 2009
Innlegg: 2
Perl utskriften feil

Hi Kelvin og Jerry,

Takk for innspill. Jeg vil følge i fremtiden.

Jeg håper det skal være to andre forhold og flagget ($ sett) vil være til stede for begge tilfellene og dermed det skrives to ganger i hver loop.

Takk igjen
ccsaviour
  #5 (permalink)  
Old 02-12-2009
KevinADC KevinADC is offline Forum Advisor  
Registrert bruker
  
 

Bli Date: Jan 2008
Innlegg: 731
Du kan ikke ha to andre forhold i perl. Du kan ha:

hvis / elsif / annet

med så mange "elsif 'betingelser som nødvendig og" annet "på slutten er valgfritt
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 01:21.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0