The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Perl Error dirdamalah Programación de scripts de shell y 3 06-21-2008 06:32 PM
Perl, una cadena de impresión en columnas doubleminus UNIX for Dummies Preguntas y Respuestas 5 05-21-2008 10:41 PM
Error PERL Asteroide Programación de Alto Nivel 3 04-25-2008 02:15 AM
impresión de una línea vacía en un archivo (perl) kfad Programación de scripts de shell y 3 05-07-2005 04:10 AM
Mensaje de error de impresión de Windows en el puerto 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 vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 02-11-2009
ccsaviour ccsaviour is offline
Usuario Registrado
  
 

Fecha: febrero 2009
Publicaciones: 2
Perl error de impresión

Hola Gurús scripting, soy nueva en abeja perl, Y tratando de escribir un script que debe imprimir la disponibilidad de espacio libre en el disco C y E de las unidades. Por favor, asesoramiento.

Aquí está el fragmento de secuencia de comandos y los resultados esperados:


#! / usr / bin /perl
use CGI qw /: html3: estándar /;
$ spaceuselog \u003d "C: \ \ admin \ \ VOBSpaceUsage \ \ vobspaceusage.log.txt";
$ informe \u003d "C: \ \ admin \ \ VOBSpaceUsage \ \ vobspaceusage.html";
abierto (log, "> $ informe") | | die "Error al escribir en el 'log' $ log";
$ datetime \u003d localtime ();
$ count \u003d 0;
vob $ \u003d "";
$ vobsize \u003d 0;
$ totalvobsize + \u003d 0;
vd $ \u003d "";
$ suma \u003d 0;

# @ vobs \u003d `ctar lsvob-s-blrcc1 de acogida»;
@ vobs \u003d ( "\ \ scm_blr_amor","\ \ scm_blr_projects","\ \ scm_blr_misc","\ \ blr_mobile_projects","\ \ blr_mobile_test");
if ($ ENV (OS) \u003d ~ m / Windows /)
(
$ guardar \u003d $ ENV SystemDrive ();
abierto (VSU, "> $ informe") or die "No se puede abrir: $ \ n";
abierto (VS, ">> $ informe") or die "No se puede abrir: $ \ n";
$ ct \u003d "cleartool";
)
algo más
(
abierto (VSU, "> E: \ \ admin \ \ VOBSpaceUsage \ \ vobspaceusage.html") or die "No se puede abrir: $ \ n";
$ ct \u003d "C: \ \ Archivos de programa \ \ racional \ \ ClearCase \ \ bin \ \ cleartool.exe";
)
Pulsar (@ vsu, start_html ( "Vob uso del espacio de Informe"), "\ n");
Pulsar (@ vsu ", <p> VOB proceso de copia de seguridad se ha completado con éxito el servidor de copia de seguridad: <font color\u003d BLRSTG01 </ font color> </ b>");
Pulsar (@ vsu, "El <p> VOBs son una copia de seguridad y disponible en la ubicación: \ \ blrstg01 \ ClearCase \ Copias de seguridad carpeta. </ p> ");
Pulsar (@ 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 ");
Pulsar (@ vsu ", <p> VOB Tamaño Estado en VOB Servidor: <font color\u003d BLRCC1 </ font color> </ b> </ p>");
Pulsar (@ vsu, "<table border\u003d1 width\u003dauto> \ n");
Pulsar (@ vsu ", <tr> \ n");
Pulsar (@ vsu ", <td width\u003dauto align\u003dcenter> <b> Vob Nombre </ b> </ td> \ n");
Pulsar (@ vsu ", <td width\u003dauto align\u003dcenter> <b> Tamaño en Mb </ b> </ td> \ n");
Pulsar (@ vsu ", <td width\u003dauto align\u003dcenter> <b> Tamaño en Gb </ b> </ td> \ n");
Pulsar (@ vsu, "</ tr> \ n");
Pulsar (@ vs, "</ table>");

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

)
# empuje (@ vs, "Uso del disco de <p> <b> C </ b> Unidad </ p> \ n");

# empuje (@ vs, "Uso del disco de <p> <b> E </ b> Drive (Almacenamiento VOBs incluido) </ p> \ n");
# foreach (@ msg)
# (
# Print $ _;
#)
foreach (@ vsu)
(
Imprimir registro;
)
# empuje (@ vsu, <table>);
foreach (@ vs)
(
Imprimir registro;
rlog de impresión;
)
abierto (rlog, "<E: \ \ Copias de seguridad \ \ log \ \ rlog.txt");
@ \u003d rlog <RLOG>;
para (rlog @) (
# Mostrar si / Uso de Disco / .. 0
Pulsar (@ du, $ _) si / Uso de Disco / .. 0
)
visto \u003d $ 1;
foreach $ linea (@ du)
(
# @ Nueva \u003d split (/ \ s /,$_);
chomp ($ linea);
# Print "\ n $ linea";
if (($ linea \u003d ~ / ^ [0-9] * /) & & ($ linea \u003d ~ / libre $ /))
(
@ val \u003d split (/ \ s /, $ linea);
$ nuevo \u003d $ val [0];
$ nuevo \u003d sprintf "% .2 f", $ nuevo;
# Print "\ NI am unidad de procesamiento de información C, El valor de la nueva variable es de $ nuevo";
if ($ nuevo <100,00)
(
print "\ nLa BLRCC1 espacio libre en la unidad C es inferior a la de 100 GB, por favor, actualice / Libera espacio en el disco";
)
# Else
# (
print "\ nLa el espacio libre disponible en la unidad C BLRCC1 nuevo es de $";
#)
$ val [0] \u003d 0;
$ visto \u003d 0;
)
$ visto \u003d 2;
# Print "\ nLooped: $ visto \ n";
if (($ linea \u003d ~ / ^ [0-9] * /) & & ($ linea \u003d ~ / libre $ /) & & ($ visto \u003d\u003d 2))
(
@ val \u003d split (/ \ s /, $ linea);
Raghu $ \u003d $ val [0];
# Print "\ nValue es de $ val [0] \ n";
Raghu $ \u003d sprintf "% .2 f", $ Raghu;
# Print "\ NI am E unidad de procesamiento de información, el valor de la nueva variable es de $ Raghu";
if ($ Raghu <100,00)
(
print "\ nLa Espacio libre en BLRCC1 E es inferior a la unidad de 100 GB, por favor, actualice / Libera espacio en el disco";
)
# Else
# (
print "\ nLa el espacio libre disponible en BLRCC1 E unidad es de $ Raghu";
#)
)
Imprimir registro "<p> $ linea </ p>";
Pulsar (@ vs ", <p> $ linea </ p> \ n");
)
rlog estrecha;
REGISTRO estrecha;
VS estrecha;
VSU estrecha;

Ahora tengo la salida como se muestra a continuación:

El espacio libre disponible en la unidad C BLRCC1 es 103,82
El espacio libre disponible en disco es BLRCC1 E 103,82
El espacio libre disponible en la unidad C BLRCC1 es 145,17
El espacio libre disponible en disco es BLRCC1 E 145,17

Los resultados esperados:

El espacio libre disponible en la unidad C BLRCC1 es 103,82
El espacio libre disponible en disco es BLRCC1 E 145,17
  #2 (Enlace permanente)  
Old 02-11-2009
JerryHone JerryHone is offline
Usuario Registrado
  
 

Fecha: noviembre 2006
Ubicación: Reino Unido
Puestos: 178
Su salida está dentro de la "foreach $ linea (@ du)" bucle, así que si @ du tiene dos elementos, usted obtendrá la salida de dos veces.

HTH

Jerry
  #3 (Enlace permanente)  
Old 02-12-2009
KevinADC KevinADC is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: enero 2008
Posts: 731
La próxima vez que utilice el código de formato de etiquetas y código de puesto. Tratando de leer el código sin que mucho es demasiado difícil. Creo que Jerry ha descubierto el problema, aunque.
  #4 (Enlace permanente)  
Old 02-12-2009
ccsaviour ccsaviour is offline
Usuario Registrado
  
 

Fecha: febrero 2009
Publicaciones: 2
Perl de error de impresión

Hola Kelvin y Jerry,

Gracias por tus aportaciones. Voy a cumplir en el futuro.

Espero que sea de dos más y las condiciones de la bandera ($ visto) será válido para los casos y por lo que se imprime dos veces en cada bucle.

Gracias de nuevo,
ccsaviour
  #5 (Enlace permanente)  
Old 02-12-2009
KevinADC KevinADC is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: enero 2008
Posts: 731
No se pueden tener dos más en las condiciones perl. Usted puede tener:

si / elsif / else

con el mayor número de 'elsif' como condiciones necesarias y el 'otro' en la final es opcional
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 08:31 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0