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: Apertura de una FILEHANDLE pero no recibe nada de ella Dragon sonriente Programación de scripts de shell y 8 08-16-2008 03:40 AM
comando ls para imprimir fifo de contenidos (o perl) jerardfjay Programación de scripts de shell y 1 04-06-2006 03:01 PM
Apertura de archivos saarshad001 UNIX for Dummies Preguntas y Respuestas 3 11-28-2003 12:42 PM
Abrir archivos AJA UNIX for Dummies Preguntas y Respuestas 4 11-10-2003 11:25 AM
Apertura de Perl perleo Programación de scripts de shell y 2 08-26-2002 10:41 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 08-31-2008
Raynon Raynon is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Ubicación: SG
Puestos: 350
Apertura de archivos y control de contenidos en Perl

Hi All,

Necesito ayuda de expertos en la realización de los siguientes Perl.
Tengo un código de más abajo, pero ya no, no parece funcionar. Cualquier experto puede darme un consejo?

A continuación se presentan los requisitos
1) Abrir numerosos archivos asignados a una serie @ ARCHIVOS. Tenga en cuenta que los archivos son siempre el nombre con el término "tipo". Ejemplos de estos nombres de archivo son "false1_sorts", "false_sorts", "true1_sorts", "true_sorts", etc

2) Buscar contenidos "32N6524" en el archivo abierto. Si el contenido existe, añadir el archivo a otro sistema que es @ arr_x. En este caso, los archivos que este contenido es true1_sorts existen "," true_sorts "

Código:
#!/usr/bin/perl

@FILES = ( *sorts );
print "@FILES ";
print "\n";

foreach $summary_x ( @FILES ) {
        open(FH, '< $summary_x') or die $!;
                while( <FH> ) {
                chomp;      
                if ( /32N6524/ ) {
                       push (@arr_x, $summary_x)
                };
                close FH;
};
};


print "@arr_x ";
Resultado esperado:

false1_sorts false_sorts true1_sorts true_sorts
true1_sorts true_sorts

Última edición por Raynon; al 08-31-2008 07:39 AM..
  #2 (Enlace permanente)  
Old 08-31-2008
época era is offline Forum Advisor  
Pastor de Gatos Inútil (en año sabático)
  
 

Fecha: marzo 2008
Ubicación: / hay / es / sólo / bin / sh
Puestos: 3.652
El comodín de la globalización, el uso <* tipo> en lugar de * tipo que hace algo totalmente diferente de lo que usted desea (que debería haber visto que se imprimen como principales *:: tipo globbed que es un nombre de variable, no globbed un nombre de archivo.
  #3 (Enlace permanente)  
Old 09-01-2008
Raynon Raynon is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Ubicación: SG
Puestos: 350
Era alta,

He añadido el <* tipo> pero este (print "@ arr_x"No declaración; no obtener impresos.
¿Pueden ayudarme?


Código:
#!/usr/bin/perl

@FILES = ( <*sorts> );
print "@FILES ";
print "\n";

foreach $summary_x ( @FILES ) {
        open(FH, '< $summary_x') or die $!;
                while( <FH> ) {
                chomp;      
                if ( /32N6524/ ) {
                       push (@arr_x, $summary_x)
                };
                close FH;
};
};


print "@arr_x ";
  #4 (Enlace permanente)  
Old 09-01-2008
Raynon Raynon is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Ubicación: SG
Puestos: 350
Hola, creo que sé dónde está el error.
Echo de menos la cita en el duoble abrir declaración.

open (FH, "<$ Summary_x") Or die $!;
  #5 (Enlace permanente)  
Old 09-01-2008
Raynon Raynon is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Ubicación: SG
Puestos: 350
Era alta,

¿Cuál sería la sintaxis si tengo que coincidir con un plazo que consta de varias palabras, por ejemplo, el término "Mi FIILE".
He intentado utilizar el código a continuación, pero no, no funcionaría.
¿Pueden ayudarme?

Código:
if ( /MY PERSONAL FILE/ ) {
                       push (@arr_x, $summary_x)
                };
Contenidos para el archivo "true_sorts" está por debajo.
Parece como si el término Quiero partido no en la primera línea de los contenidos, entonces se ganó, no será cualquier partido.

Código:
32N6524

MY PERSONAL FILE

Última edición por Raynon; al 09-01-2008 10:56 PM..
  #6 (Enlace permanente)  
Old 09-02-2008
época era is offline Forum Advisor  
Pastor de Gatos Inútil (en año sabático)
  
 

Fecha: marzo 2008
Ubicación: / hay / es / sólo / bin / sh
Puestos: 3.652
Usted tiene la llave de cierre en el lugar equivocado, se le cierre el archivo después de leer una línea del mismo.

Ayuda a ver la lógica si un guión consistente nivel más profundo después de una llave de apertura, y disminuir el sangrado en la llave de cierre.

Código:
#!/usr/bin/perl

@FILES = ( <*sorts> );
print "@FILES ";
print "\n";

foreach $summary_x ( @FILES ) {
        open(FH, "< $summary_x") or die $!;
        while( <FH> ) {
                chomp;      
                if ( /32N6524/ ) {
                       push (@arr_x, $summary_x);
		       last;
                }
	}
	close FH;
};


print "@arr_x ";
He añadido el último como un menor de optimización, pero por lo demás, esto sólo tiene la llave se trasladó al lugar correcto, y la única cita a cambiado dobles, corregida y sangría.

El chomp no parece ser necesaria, pero tal vez desean ampliar la secuencia de comandos hasta el punto en que usted quiere que se chomped líneas.

La adecuación de los espacios con cosas en que no es un problema.

Editado por última época; al 09-02-2008 03:13 AM.. Motivo: Observación en inútil el empleo de chomp
  #7 (Enlace permanente)  
Old 09-02-2008
Raynon Raynon is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Ubicación: SG
Puestos: 350
Era alta,

Thks mucho por los consejos!
Ahora sé que me equivoco.
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 10:26 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