The UNIX and Linux Forums  

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Perl Hiba dirdamalah Shell programozás és Scripting 3 06-21-2008 06:32 PM
Perl, meg egy karakterlánc az oszlopokat doubleminus A UNIX a dummies Kérdések és válaszok 5 05-21-2008 10:41 PM
PERL Error Asteroid Magas szintű Programozás 3 04-25-2008 02:15 AM
nyomtatás egy üres sor a fájl (perl) kfad Shell programozás és Scripting 3 05-07-2005 04:10 AM
Hibaüzenet nyomtatás Windows-on port 515 Pauls SUN Solaris 0 12-23-2004 09:51 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 02-11-2009
ccsaviour ccsaviour is offline
Regisztrált felhasználó
  
 

Join Date: Feb 2009
Hozzászólások: 2
Perl nyomtatási hiba

Hi Gurus Scripting, én vagyok az új méh perl, És próbál írni egy scriptet, amely kiírja a szabad lemezterület rendelkezésre állása a C-és E-meghajtók. Kérem tanácsát.

Itt van a script kódrészletet, és a várható kibocsátás:


#! / usr / bin /perl
használata CGI qw /: html3: standard /;
$ spaceuselog \u003d "E: \ \ admin \ \ VOBSpaceUsage \ \ vobspaceusage.log.txt";
$ jelentés \u003d "E: \ \ admin \ \ VOBSpaceUsage \ \ vobspaceusage.html";
open (LOG, "> $-jelentés") | | die "ERROR írásban Naplózás Naplózás $!";
$ datetime \u003d localtime ();
$ count \u003d 0;
vob $ \u003d "";
$ vobsize \u003d 0;
$ totalvobsize + \u003d 0;
vd $ \u003d "";
$ sum \u003d 0;

# @ VObs \u003d `ct lsvob-s-fogadó blrcc1";
@ VObs \u003d ( "\ \ scm_blr_amor","\ \ scm_blr_projects","\ \ scm_blr_misc","\ \ blr_mobile_projects","\ \ blr_mobile_test");
if ($ ENV (OS) \u003d ~ m / Windows /)
(
$ store \u003d $ ENV (SystemDrive);
Open (VSU, "> $-jelentés") or die "Nem tudom megnyitni: $! \ n";
Open (VS, ">> $-jelentés") or die "Nem tudom megnyitni: $! \ n";
$ ct \u003d "cleartool";
)
vagy
(
Open (VSU "> E: \ \ admin \ \ VOBSpaceUsage \ \ vobspaceusage.html") or die "Nem tudom megnyitni: $! \ n";
$ ct \u003d "C: \ \ Program Files \ \ Rational \ \ ClearCase \ \ bin \ \ cleartool.exe";
)
push (@ VSU, start_html ( "vob Space Usage jelentés"), "\ n");
push (@ VSU "<p> <b> VOB mentési folyamat sikeresen befejeződött a Backup Server: <font color\u003dblue> BLRSTG01 </ font color> </ b>");
push (@ VSU "<p> VObs biztosításához-up és elérhető a következő helyen: \ \ blrstg01 \ Clearcase \ mentések mappát. </ 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 Size állapotát 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 neve </ b> </ td> \ n");
push (@ VSU "<td width\u003dauto align\u003dcenter> <b> mérete MB </ b> </ td> \ n");
push (@ VSU "<td width\u003dauto align\u003dcenter> <b> mérete GB-ban </ 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 $ path (@ vbpath)
(
# Print "\ n $ path";
$ path \u003d ~ s / \ * / /;
$ path \u003d ~ s / \ s / /;
# Print "\ n $ path";
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 Forrás 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> lemez használata <b> C </ b> Drive </ p> \ n");

# push (@ vs "<p> lemez használata <b> E </ b> Drive (VObs Storage együtt) </ p> \ n");
# foreach (@ msg)
# (
# Print $ _;
#)
foreach (@ VSU)
(
print LOG;
)
# push (@ VSU, <table>);
foreach (@ VS)
(
print LOG;
print RLOG;
)
Open (RLOG, "<E: \ \ mentések \ \ log \ \ rlog.txt");
@ rlog \u003d <RLOG>;
for (@ rlog) (
# Nyomtatás ha / Disk Usage / .. 0
push (@ du, $ _) ha / Disk Usage / .. 0
)
$ látott \u003d 1;
foreach $ line (@ du)
(
# @ New \u003d split (/ \ s /,$_);
chomp ($ line);
# Print "\ n $ line";
if (($ sor \u003d ~ / ^ [0-9] * /) & & ($ sor \u003d ~ / szabad $ /))
(
@ val \u003d split (/ \ s /, $ line);
$ new \u003d $ val [0];
$ new \u003d sprintf "% .2 f", $ új;
# Print "\ nem vagyok feldolgozás C meghajtóra info: az az érték, az új változó $ új";
if ($ új <100,00)
(
print "\ nA szabad hely BLRCC1 C meghajtóra kevesebb, mint 100 GB, Please Upgrade / Free néhány hely a lemezen";
)
# Else
# (
print "\ nA rendelkezésre álló szabad hely BLRCC1 C meghajtó $ új";
#)
$ val [0] \u003d 0;
$ látott \u003d 0;
)
$ látott \u003d 2;
# Print "\ nLooped: $ látott \ n";
if (($ sor \u003d ~ / ^ [0-9] * /) & & ($ sor \u003d ~ / szabad $ /) & & ($ látott \u003d\u003d 2))
(
@ val \u003d split (/ \ s /, $ line);
Raghu $ \u003d $ val [0];
# Print "\ nValue a $ val [0] \ n";
$ raghu \u003d sprintf "% .2 f", $ raghu;
# Print "\ nem vagyok feldolgozás E meghajtó info: az az érték, az új változó $ Raghu";
if ($ raghu <100,00)
(
print "\ nA szabad hely BLRCC1 E meghajtó kevesebb, mint 100 GB, Please Upgrade / Free néhány hely a lemezen";
)
# Else
# (
print "\ nA rendelkezésre álló szabad hely BLRCC1 E meghajtó $ Raghu";
#)
)
print LOG "<p> $ sor </ p>";
push (@ vs "<p> $ sor </ p> \ n");
)
szoros RLOG;
LOG közelében;
VS közelében;
VSU közelében;

Most én vagyok, hogy az output az alábbiak szerint:

A rendelkezésre álló szabad hely BLRCC1 C meghajtó 103,82
A rendelkezésre álló szabad hely BLRCC1 E meghajtó 103,82
A rendelkezésre álló szabad hely BLRCC1 C meghajtó 145,17
A rendelkezésre álló szabad hely BLRCC1 E meghajtó 145,17

Várt kimenet:

A rendelkezésre álló szabad hely BLRCC1 C meghajtó 103,82
A rendelkezésre álló szabad hely BLRCC1 E meghajtó 145,17
  #2 (permalink)  
Old 02-11-2009
JerryHone JerryHone is offline
Regisztrált felhasználó
  
 

Join Date: Nov 2006
Location: UK
Posts: 178
Ön kimenet belül "foreach $ line (@ du)" loop, így ha @ du két elemet, kapsz a kimeneti kétszer.

HTH

Jerry
  #3 (permalink)  
Old 02-12-2009
KevinADC KevinADC is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Jan 2008
Hozzászólások: 731
Következő alkalommal használja a kódot, címkék és a formázott kódot. Próbálok olvasni, hogy sok formázatlan kód túl nehéz. Azt hiszem, Jerry különféle problémáját is.
  #4 (permalink)  
Old 02-12-2009
ccsaviour ccsaviour is offline
Regisztrált felhasználó
  
 

Join Date: Feb 2009
Hozzászólások: 2
Perl nyomtatási hiba

Szia Kelvin és Jerry,

Thanks for your inputs. Ragaszkodni fogok a jövőben.

Remélem, nem kell mást két feltételeit és a zászló ($ látható lesz) igaz mind az ügyek, ezért azt kiírja kétszer minden hurok.

Thanks again,
ccsaviour
  #5 (permalink)  
Old 02-12-2009
KevinADC KevinADC is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Jan 2008
Hozzászólások: 731
Nem lehet két más feltételek perl. Te is:

Ha a / elsif / else

a lehető legtöbb "elsif" feltételek mellett szükséges, és a "más" a végén nem kötelező
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 11:51 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0