) ($ rec \u003d $ _; chomp ($ rec); @ arr \u003d split (/ /, $ rec); print $ rec, "\ n" if ($ arr [12] ~ / OK /); open (MYF "> data.txt ');" /> Perl-Script-Problem. Was mache ich falsch? - Das UNIX-und Linux-Foren
The UNIX and Linux Forums  

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



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-Ausgabe raj001 Shell Programmierung und Scripting 23 01-30-2009 06:12 AM
Perl-Script Ausgabe - Bitte Hilfe * Danke! jroberson Shell Programmierung und Scripting 8 11-03-2008 03:47 AM
perl Frage .. zedex Shell Programmierung und Scripting 3 09-14-2008 12:22 AM
Was ist falsch an diesem Skript? heprox Shell Programmierung und Scripting 8 11-16-2006 05:43 AM
perl regexp Fehler, ich kann verstehen, was falsch ist umen Shell Programmierung und Scripting 4 10-19-2006 11:35 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 03-18-2009
SkySmart SkySmart is offline
Registrierte Nutzer
  
 

Join Date: Dec 2006
Beiträge: 50
Perl-Script-Problem. Was mache ich falsch?

#! / usr / local / bin /perl


open (myFile, "logs_report ');


while (<MYFILE>) (

$ rec \u003d $ _;
chomp ($ rec);
@ arr \u003d split (/ /, $ rec);
print $ rec, "\ n" if ($ arr [12] ~ / OK /);

open (MYF, '> data.txt');

print $ rec, "\ n" if ($ arr [12] ~ / OK /);
close (MYF);



)
close (myFile);


Ok, hier ist es, was ich bin versucht, u. Ich bin Öffnen der Datei logs_report und ich bin Grepping nur für Linien, die nicht OK ist.

Nun, das Ergebnis, dass ich von grep ist das, was ich "m versucht zu schreiben in eine Datei.

Wie kann ich das tun?

so ziemlich viel, ich bin versucht zu öffnen, eine Datei, lesen Sie den Inhalt der Datei, ziehen Sie einige Zeilen aus der Datei, und die bestimmte Linien i ausdrucken, ich will, um sie in eine Datei. Wie kann ich das tun? auch, wenn ich per E-Mail die Datei, die geschrieben werden, wird es eine Möglichkeit, dies zu tun, dass in perl?
  #2 (permalink)  
Old 03-18-2009
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Join Date: März 2005
Ort: Blattknoten in B + Baum
Posts: 2960
Zitat:
print $ rec, "\ n" if ($ arr [12] ~ / OK /);
schreiben Sie es auf die Datei und nicht auf den Stream

Code:
print MYF $rec,"\n" if ($arr[12]!~/OK/);

  #3 (permalink)  
Old 03-18-2009
pludi's Avatar
pludi pludi is offline Forum Staff  
Moderator
  
 

Join Date: Dezember 2008
Lage:. Auf
Beiträge: 1950

Code:
#!/usr/local/bin/perl

open (MYFILE, 'logs_report');
open (MYF, '>data.txt');

while ($rec = <MYFILE>) {
    chomp($rec);
    @arr = split(/ /,$rec);
    if ($arr[12] !~ /OK/) {
        print $rec, "\n";
        print MYF $red, "\n";
    }
}
close (MYF);
close (MYFILE);

Dies ist wahrscheinlich das, was Sie wollen. Die Art und Weise, die Sie es, Sie überschreiben Ihre data.txt jedes Mal, wenn Sie etwas finden, sowie das Öffnen und Schließen immer wieder in einer Schleife kann sehr I / O-intensiven Kosten.

Und das nächste Mal, wenn Sie nach Angeboten oder Quelle, legen Sie sie in [code] [/ code]-Tags (ohne Leerzeichen), um die Formatierung zur besseren Lesbarkeit.
  #4 (permalink)  
Old 03-18-2009
SkySmart SkySmart is offline
Registrierte Nutzer
  
 

Join Date: Dec 2006
Beiträge: 50
Zitat:
Zitat von pludi View Post
Code:
#!/usr/local/bin/perl

open (MYFILE, 'logs_report');
open (MYF, '>data.txt');

while ($rec = <MYFILE>) {
    chomp($rec);
    @arr = split(/ /,$rec);
    if ($arr[12] !~ /OK/) {
        print $rec, "\n";
        print MYF $red, "\n";
    }
}
close (MYF);
close (MYFILE);

Dies ist wahrscheinlich das, was Sie wollen. Die Art und Weise, die Sie es, Sie überschreiben Ihre data.txt jedes Mal, wenn Sie etwas finden, sowie das Öffnen und Schließen immer wieder in einer Schleife kann sehr I / O-intensiven Kosten.

Und das nächste Mal, wenn Sie nach Angeboten oder Quelle, legen Sie sie in [code] [/ code]-Tags (ohne Leerzeichen), um die Formatierung zur besseren Lesbarkeit.

Danke. Sorry für das Nicht-Aufnehmen der Codes. Sie würde passieren, zu wissen, wie man einen Code in ur-Code, E-Mail wird die Datei auf eine Reihe von E-Mail-Adressen? Ich meine die Datei, die geschrieben? Ihre Hilfe oder Input ist sehr geschätzt. Danke
  #5 (permalink)  
Old 03-18-2009
KevinADC KevinADC is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 731
Ähnlich wie bei meiner Antwort in dem anderen Thread, dass ich glauben, dass Sie es nicht gelesen. Geht davon aus demselben Beispiel Daten aus diesem Thread.

Dies sollte effizienter und vielleicht genauer:


Code:
#!/usr/local/bin/perl
use strict;

open (MYFILE, 'logs_report') or die "$!";
open (MYF, '>data.txt') or die "$!";

while (my $rec = <MYFILE>) {
    next if ($rec =~ /STATE: OK/) {
    print MYF $rec;
}
close (MYF);
close (MYFILE);

Pludis Code hat einen kleinen Tippfehler, es hat $ rot , wo es sollte $ rec.
  #6 (permalink)  
Old 03-18-2009
SkySmart SkySmart is offline
Registrierte Nutzer
  
 

Join Date: Dec 2006
Beiträge: 50
Zitat:
Zitat von KevinADC View Post
Ähnlich wie bei meiner Antwort in dem anderen Thread, dass ich glauben, dass Sie es nicht gelesen. Geht davon aus demselben Beispiel Daten aus diesem Thread.

Dies sollte effizienter und vielleicht genauer:


Code:
#!/usr/local/bin/perl
use strict;

open (MYFILE, 'logs_report') or die "$!";
open (MYF, '>data.txt') or die "$!";

while (my $rec = <MYFILE>) {
    next if ($rec =~ /STATE: OK/) {
    print MYF $rec;
}
close (MYF);
close (MYFILE);

Pludis Code hat einen kleinen Tippfehler, es hat $ rot , wo es sollte $ rec.
Ja, ich habe Ihre Nachricht in den anderen Threads. Als ich auf sie war ich nicht immer eine Antwort zurück. Ich denke, das Problem wurde in der Zeile, die ich fett.

Ich werde versuchen, dieses Skript von Ihnen sehen, und wenn dies etwas. Dank einer Million.
  #7 (permalink)  
Old 03-18-2009
KevinADC KevinADC is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 731
Zitat:
Zitat von SkySmart View Post
Ja, ich habe Ihre Nachricht in den anderen Threads. Als ich auf sie war ich nicht immer eine Antwort zurück. Ich denke, das Problem wurde in der Zeile, die ich fett.

Ich werde versuchen, dieses Skript von Ihnen sehen, und wenn dies etwas. Dank einer Million.
Es ist davon auszugehen, dass das Muster zu finden, ist genau ZUSTAND: OK, Wenn das Muster unterscheidet, müssen Sie entsprechend ändern.
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 02:51 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0