![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Perl: Das Öffnen einer FileHandle aber nicht immer wieder etwas von ihm | Smiling Dragon | Shell Programmierung und Scripting | 8 | 08-16-2008 02:40 AM |
| ls-Befehl zu drucken fifo von Inhalten (oder Perl) | jerardfjay | Shell Programmierung und Scripting | 1 | 04-06-2006 02:01 PM |
| Öffnen von Dateien | saarshad001 | UNIX for Dummies Questions & Answers | 3 | 11-28-2003 12:42 PM |
| Öffnen von Dateien | AJA | UNIX for Dummies Questions & Answers | 4 | 11-10-2003 11:25 AM |
| Eröffnung Perl | perleo | Shell Programmierung und Scripting | 2 | 08-26-2002 09:41 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Öffnen von Dateien und Überprüfung Inhalte in Perl
Hi All,
Ich brauche einige Experten helfen bei der Durchführung der folgenden in Perl. Ich habe einen Code unter, aber es nicht; t zu funktionieren scheint. Kann einem Sachverständigen geben Sie mir ein paar Ratschläge? Im Folgenden sind die Anforderungen 1) Öffnen Sie zahlreiche Dateien, die ein Array @ FILES. Beachten Sie, dass die Dateien sind immer Namen mit dem Begriff "Art". Beispiele für diese Dateinamen sind "false1_sorts", "false_sorts", "true1_sorts", "true_sorts" usw. 2) Suche nach Inhalten "32N6524" in die geöffnete Datei. , Wenn der Inhalt vorhanden ist, fügen Sie die Datei in einen anderen Array, das @ arr_x. Hier werden die Dateien, die diese Inhalte vorhanden ist true1_sorts "," true_sorts " Code:
#!/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 Zuletzt bearbeitet von Raynon; am 08-31-2008 06:39 AM.. |
|
||||
|
Um glob der Platzhalter verwenden <* Art> anstelle von * Art was etwas ganz anderes als Sie (sollten Sie gesehen haben, dass es wurde gedruckt als * main:: Arten, die eine globbed Variablennamen, nicht globbed Dateinamen.
|
|
||||
|
Hi-Ära,
Ich habe auf <* Art> aber noch in diesem (print "@ arr_x" Erklärung doesn t get ausgedruckt. Können Sie mir helfen? Code:
#!/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 ";
|
|
||||
|
Hi-Ära,
Was wäre die Syntax, wenn ich brauche, um einen Begriff, der aus mehreren Worten zum Beispiel der Begriff "MEINE PERSÖNLICHE FIILE". Ich habe versucht, den Code unten, aber es didn t Arbeit. Können Sie mir helfen? Code:
if ( /MY PERSONAL FILE/ ) {
push (@arr_x, $summary_x)
};
Sieht aus wie der Begriff, wenn ich will, um sich nicht in der ersten Zeile der Inhalt, dann gewonnen, t werden alle mit. Code:
32N6524 MY PERSONAL FILE Zuletzt bearbeitet von Raynon; am 09-01-2008 09:56 PM.. |
|
||||
|
Sie haben die schließende Klammer an der falschen Stelle, schließen Sie die Datei nach dem Lesen einer Zeile von ihm.
Es hilft, um zu sehen, die Logik, wenn Sie konsequent Gedankenstrich eine Ebene tiefer nach einer Öffnung Klammer, Abnahme und Einzug in die schließende Klammer. Code:
#!/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 ";
Der chomp erscheint nicht notwendig, aber vielleicht möchten Sie, um das Skript zu dem Punkt, wo Sie wollen Linien zu chomped. Die Abstimmung über die Bestellung mit Leerzeichen in ihm ist kein Problem. Zuletzt bearbeitet von ERA; 09-02-2008 auf 02:13 AM.. Grund: Anmerkung zur Verwendung von chomp Nutzlos |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|