The UNIX and Linux Forums  


Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Perl: Apertura di un filehandle, ma non ottenere nulla in cambio da essa Smiling Dragon Shell scripting e di programmazione 8 08-16-2008 03:40 AM
comando ls per stampare il contenuto di fifo (o perl) jerardfjay Shell scripting e di programmazione 1 04-06-2006 03:01 PM
Apertura di file saarshad001 UNIX for Dummies Domande & Risposte 3 11-28-2003 12:42 PM
Apertura di file AJA UNIX for Dummies Domande & Risposte 4 11-10-2003 11:25 AM
Apertura Perl perleo Shell scripting e di programmazione 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 Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 08-31-2008
Raynon Raynon is offline
Utente Registrato
  
 

Join Date: Sep 2006
Ubicazione: SG
Interventi: 350
Apertura di file e verificare il contenuto in Perl

Hi All,

Ho bisogno di aiuto nello svolgimento dei seguenti Perl.
Ho un codice qui sotto, ma non può essere; t sembra funzionare. Posso esperti darmi qualche consiglio?

Qui di seguito sono i requisiti
1) Aprire assegnato numerosi file in un array @ FILES. Si noti che i file sono sempre chiamato con il termine "genere". Esempi di questi nomi di file sono "false1_sorts", "false_sorts", "true1_sorts", "true_sorts" etc

2) Ricerca per contenuto "32N6524" nel file aperto. Se il contenuto esistente, aggiungere il file a un altro array che è arr_x @. Qui, i file che esistono questo contenuto è true1_sorts "," true_sorts "


Codice:
#!/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 ";

Uscita prevista:

false1_sorts false_sorts true1_sorts true_sorts
true1_sorts true_sorts

Ultimo a cura di Raynon; al 08/31/2008 07:39 AM..
  #2 (permalink)  
Old 08-31-2008
epoca era is offline Forum Advisor  
Herder di Inutile Gatti (Su sabbatico)
  
 

Iscriviti Data: marzo 2008
Ubicazione: / ci / è / solo / bin / sh
Interventi: 3.652
Per la wildcard glob, utilizzare <* tipo> invece di * tipo che fa qualcosa di completamente diverso da quello che si desidera (si dovrebbe avere visto che essa ha stampato come principale *:: che tipo è un nome di variabile globbed, non un nome di file globbed.
  #3 (permalink)  
Old 09-01-2008
Raynon Raynon is offline
Utente Registrato
  
 

Join Date: Sep 2006
Ubicazione: SG
Interventi: 350
Era Hi,

Ho aggiunto il <* sorta> ma ancora presente (print "@ arr_x"Non dichiarazione; t ottenere stampati.
Potete aiutarmi?



Codice:
#!/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 (permalink)  
Old 09-01-2008
Raynon Raynon is offline
Utente Registrato
  
 

Join Date: Sep 2006
Ubicazione: SG
Interventi: 350
Ciao, penso di sapere dove l'errore.
Mi manca la citazione doppie in aperto affermazione.

open (FH, "<$ Summary_x") O morire $!;
  #5 (permalink)  
Old 09-01-2008
Raynon Raynon is offline
Utente Registrato
  
 

Join Date: Sep 2006
Ubicazione: SG
Interventi: 350
Era Hi,

Quale sarebbe la sintassi, se ho bisogno di corrispondere a un termine composto da più parole, ad esempio il termine "LA MIA PERSONALE FIILE".
Ho provato a utilizzare il codice, ma al di sotto didn; t lavoro.
Potete aiutarmi?


Codice:
if ( /MY PERSONAL FILE/ ) {
                       push (@arr_x, $summary_x)
                };

Sommario per il file "true_sorts" è qui di seguito.
Guarda come se il termine per soddisfare i desideri è non alla prima linea dei contenuti, poi ha vinto; t qualsiasi partita.


Codice:
32N6524

MY PERSONAL FILE


Ultimo a cura di Raynon; al 09/01/2008 10:56 PM..
  #6 (permalink)  
Old 09-02-2008
epoca era is offline Forum Advisor  
Herder di Inutile Gatti (Su sabbatico)
  
 

Iscriviti Data: marzo 2008
Ubicazione: / ci / è / solo / bin / sh
Interventi: 3.652
Hai la chiusura ferma nel posto sbagliato, si sta chiudendo il file dopo aver letto una riga da esso.

Essa aiuta a vedere la logica se si trattino costantemente un livello più profondo dopo una parentesi di apertura, e diminuire il rientro presso la parentesi di chiusura.


Codice:
#!/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 ";

Ho aggiunto il ultimo come l'ottimizzazione di un minore, ma per il resto, questa è solo la ferma spostato al posto giusto, e le virgolette doppie virgolette cambiato, e la corretta indentazione.

Il chomp non sembra essere necessario, ma forse si desidera espandere la sceneggiatura, fino al punto in cui si desidera essere chomped linee.

La corrispondenza con spazi su cose in essa non è un problema.

Ultimo a cura di epoca; al 09/02/2008 03:13 AM.. Motivo: Nota su Inutili Usa di Chomp
  #7 (permalink)  
Old 09-02-2008
Raynon Raynon is offline
Utente Registrato
  
 

Join Date: Sep 2006
Ubicazione: SG
Interventi: 350
Era Hi,

Thks molto per il consiglio!
Ora so dove mi trovo sbagliato.
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 01:29 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0