data.txt');" /> Perlskript fråga. Vad gör jag för fel? - UNIX och Linux Forums
The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Perl Utgåva raj001 Shell-programmering och Skript 23 01-30-2009 06:12
Perl Script Utgåva - Snälla Hjälp * Tack! jroberson Shell-programmering och Skript 8 11-03-2008 03:47
perl fråga .. zedex Shell-programmering och Skript 3 09-13-2008 11:22
Vad är det för fel med detta script? heprox Shell-programmering och Skript 8 11-16-2006 05:43
perl regexp fel, jag skränande förstå vad som är fel umen Shell-programmering och Skript 4 10-19-2006 10:35

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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 03-18-2009
SkySmart SkySmart is offline
Registered User
  
 

Join Date: Dec 2006
Inlägg: 50
Perl Script fråga. Vad gör jag för fel?

#! / usr / local / bin /perl


open (minfil, 'logs_report');


while (<MYFILE>) (

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

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

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



)
close (minfil);


Ok, här är vad jag försöker u. Jag är öppna filen logs_report och jag är grepping endast rader som INTE har OK i den.

Nu, ett resultat jag får från den grep är vad jag "Jag försöker att skriva till en fil.

Hur kan jag göra det?

så ganska mycket, jag försöker öppna en fil, läsa innehållet i filen, dra ut vissa linjer från den filen, och vissa linjer som jag skriver ut, jag vill skriva den till en fil. Hur kan jag göra det? också, om jag vill skicka filen som skrivs ut till, finns det något sätt att göra det i perl?
  #2 (permalänk)  
Old 03-18-2009
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Join Date: mars 2005
Ort: löv i B + träd
Inlägg: 2.953
Citat:
print $ rec, "\ n" if ($ arr [12]! ~ / OK /);
skriva dem till filen och inte strömmen
Kod:
print MYF $rec,"\n" if ($arr[12]!~/OK/);
  #3 (permalänk)  
Old 03-18-2009
pludi's Avatar
pludi pludi is offline Forum Staff  
Moderator
  
 

Join Date: Dec 2008
Ort:. Tillhör
Inlägg: 1857
Kod:
#!/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);
Detta är förmodligen vad du vill. Sättet du skrev det, skulle du skriva din data.txt varje gång du hittar något, plus att öppna och stänga flera gånger i en slinga kan vara ganska I / O kostnadsintensiv.

Och nästa gång du skickar listor eller källa, omgärda den med [code] [/ code] taggar (sans utrymmen), för att bevara formatering för läsbarhet.
  #4 (permalänk)  
Old 03-18-2009
SkySmart SkySmart is offline
Registered User
  
 

Join Date: Dec 2006
Inlägg: 50
Citat:
Ursprungligen postat av pludi View Post
Kod:
#!/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);
Detta är förmodligen vad du vill. Sättet du skrev det, skulle du skriva din data.txt varje gång du hittar något, plus att öppna och stänga flera gånger i en slinga kan vara ganska I / O kostnadsintensiv.

Och nästa gång du skickar listor eller källa, omgärda den med [code] [/ code] taggar (sans utrymmen), för att bevara formatering för läsbarhet.

tack. synd att inte inkludera de koder. skulle du råkar veta hur man inkludera en kod i ur registret som e-filen till en rad e-postadresser? Jag menar den fil som är skriven på? din hjälp eller bidrag är mycket uppskattad. tack
  #5 (permalänk)  
Old 03-18-2009
KevinADC KevinADC is offline Forum Advisor  
Registered User
  
 

Join Date: Jan 2008
Inlägg: 731
Liknar mitt svar i din andra tråd som jag tror att du inte läst. Förutsätter samma exempel uppgifter från den tråden.

Detta bör bli effektivare och kanske mer korrekt:

Kod:
#!/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 nummer har ett litet stavfel, har det $ rött där det bör vara $ rec.
  #6 (permalänk)  
Old 03-18-2009
SkySmart SkySmart is offline
Registered User
  
 

Join Date: Dec 2006
Inlägg: 50
Citat:
Ursprungligen postat av KevinADC View Post
Liknar mitt svar i din andra tråd som jag tror att du inte läst. Förutsätter samma exempel uppgifter från den tråden.

Detta bör bli effektivare och kanske mer korrekt:

Kod:
#!/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 nummer har ett litet stavfel, har det $ rött där det bör vara $ rec.
ja jag har läst ditt inlägg i den andra tråden. När jag åkte för att använda det jag inte får något svar tillbaka. Jag tror att problemet låg i den linje som i fetstil.

Jag ska försöka skriptet till dig och se om det resultat något. Tusen tack.
  #7 (permalänk)  
Old 03-18-2009
KevinADC KevinADC is offline Forum Advisor  
Registered User
  
 

Join Date: Jan 2008
Inlägg: 731
Citat:
Ursprungligen postat av SkySmart View Post
ja jag har läst ditt inlägg i den andra tråden. När jag åkte för att använda det jag inte får något svar tillbaka. Jag tror att problemet låg i den linje som i fetstil.

Jag ska försöka skriptet till dig och se om det resultat något. Tusen tack.
Det gör antar att mönstret för att hitta just STATE: OKOm mönstret är olika måste du ändra detta.
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 12:38.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0