![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| 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 |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
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 ";
false1_sorts false_sorts true1_sorts true_sorts true1_sorts true_sorts Última edición por Raynon; al 08-31-2008 07:39 AM.. |
|
||||
|
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.
|
|
||||
|
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 ";
|
|
||||
|
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 $!; |
|
||||
|
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)
};
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.. |
|
||||
|
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 ";
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 |
|
||||
|
Era alta,
Thks mucho por los consejos! Ahora sé que me equivoco. |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|