) ($ rec \u003d $ _; chomp ($ rec); @ arr \u003d split (/ /, $ rec); print $ rec, "\ n" if ($ arr [12]! ~ / OK /); ouverte (MYF, '> donnees.txt');" /> Script Perl question. Qu'est-ce que je fais de mal? - The UNIX et Linux Forums
The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Perl Issue raj001 De programmation et de script Shell 23 01-30-2009 06:12 AM
Perl Script Edition - Aide * S'il vous plaît Merci! jroberson De programmation et de script Shell 8 11-03-2008 03:47 AM
perl question .. Zedex De programmation et de script Shell 3 09-13-2008 11:22 PM
Quel est le problème avec ce script? heprox De programmation et de script Shell 8 11-16-2006 05:43 AM
perl regexp erreur, Je ne comprends ce qui est mal umen De programmation et de script Shell 4 10-19-2006 10: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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 03-18-2009
SkySmart SkySmart is offline
Registered User
  
 

Join Date: Dec 2006
Posts: 48
Script Perl question. Qu'est-ce que je fais de mal?

#! / usr / local / bin /perl


open (MyFile ", logs_report ');


while (<monfichier>) (

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

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

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



)
close (MyFile);


ok, voici ce que j'essaie de u. Je suis l'ouverture du fichier logs_report et je suis grepper seulement pour les lignes à ne pas avoir OK en elle.

Maintenant, le résultat que je reçois de ce que je grep "essaye d'écrire dans un fichier.

Comment puis-je faire?

de manière à peu près, je tente d'ouvrir un fichier, lire le contenu du fichier, extraire certaines lignes de ce fichier, et l'impression de certaines lignes i, je veux écrire dans un fichier. Comment puis-je faire? aussi, si je veux envoyer le fichier qui est écrit pour, est-il une façon de faire que, dans perl?
  #2 (permalink)  
Old 03-18-2009
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Join Date: Mar 2005
Lieu: node feuilles dans les arbres B +
Posts: 2952
Citation:
print $ rec, "\ n" if ($ arr [12]! ~ / OK /);
écrire sur le fichier et non pas à l'eau
Code:
print MYF $rec,"\n" if ($arr[12]!~/OK/);
  #3 (permalink)  
Old 03-18-2009
pludi's Avatar
pludi pludi is offline Forum Staff  
Modérateur
  
 

Join Date: Dec 2008
Emplacement:. À
Messages: 1839
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);
C'est probablement ce que vous voulez. La façon dont vous avez écrit, vous souhaitez remplacer votre donnees.txt à chaque fois que vous trouvez quelque chose, plus d'ouverture et de fermeture à maintes reprises dans une boucle peut être assez I / O coûteux.

Et la prochaine fois que vous affichez la liste ou de la source, l'enfermer dans le [code] [/ code] tags (sans les espaces), afin de préserver la mise en forme pour la lisibilité.
  #4 (permalink)  
Old 03-18-2009
SkySmart SkySmart is offline
Registered User
  
 

Join Date: Dec 2006
Posts: 48
Citation:
Posté par 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);
C'est probablement ce que vous voulez. La façon dont vous avez écrit, vous souhaitez remplacer votre donnees.txt à chaque fois que vous trouvez quelque chose, plus d'ouverture et de fermeture à maintes reprises dans une boucle peut être assez I / O coûteux.

Et la prochaine fois que vous affichez la liste ou de la source, l'enfermer dans le [code] [/ code] tags (sans les espaces), afin de préserver la mise en forme pour la lisibilité.

merci. désolé de ne pas inclure les codes. vous arrive de connaître la façon d'inclure un code dans le code qui sera ur e-mail le fichier à un ensemble d'adresses e-mail? je veux dire le fichier qui est écrit sur? votre aide ou contribution est grandement appréciée. merci
  #5 (permalink)  
Old 03-18-2009
KevinADC KevinADC is offline Forum Advisor  
Registered User
  
 

Join Date: Jan 2008
Messages: 731
Similaire à ma réponse à votre autre fil que je pense que vous ne l'avez pas lu. Suppose même exemple que les données de fil.

Cela devrait être plus efficace et peut-être plus précis:

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 a une petite erreur, il a $ red où il devrait être $ rec.
  #6 (permalink)  
Old 03-18-2009
SkySmart SkySmart is offline
Registered User
  
 

Join Date: Dec 2006
Posts: 48
Citation:
Posté par KevinADC View Post
Similaire à ma réponse à votre autre fil que je pense que vous ne l'avez pas lu. Suppose même exemple que les données de fil.

Cela devrait être plus efficace et peut-être plus précis:

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 a une petite erreur, il a $ red où il devrait être $ rec.
oui je n'ai lu votre message dans l'autre fil. Quand je suis allé à l'utiliser je ne reçois aucune réponse de retour. Je pense que le problème est dans la ligne i gras.

Je vais essayer ce script, le vôtre et de voir si il affiche quelque chose. thanks a million.
  #7 (permalink)  
Old 03-18-2009
KevinADC KevinADC is offline Forum Advisor  
Registered User
  
 

Join Date: Jan 2008
Messages: 731
Citation:
Posté par SkySmart View Post
oui je n'ai lu votre message dans l'autre fil. Quand je suis allé à l'utiliser je ne reçois aucune réponse de retour. Je pense que le problème est dans la ligne i gras.

Je vais essayer ce script, le vôtre et de voir si il affiche quelque chose. thanks a million.
Elle ne supposera que le motif est de trouver exactement ETAT: OK, Si le schéma est différent, vous avez besoin de changer en conséquence.
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 02:14 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0