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
Mangel an Verständnis> lästigen Fehler jzacsh Shell Programmierung und Scripting 21 4 Wochen 04:10 PM
Fehler bei der Ausgabe von Perl-Skript namishtiwari Shell Programmierung und Scripting 2 06-15-2009 06:02 AM
Perl-Skript Fehler bei ftptail Cooki3s! UNIX for Dummies Questions & Answers 2 05-04-2009 12:46 PM
Hilfe Verständnis Syntaxfehler Ausgabe warlock129 Shell Programmierung und Scripting 6 04-26-2009 08:02 PM
Perl-Skript Fehler pietie Shell Programmierung und Scripting 4 10-15-2008 10:05 AM

Reply
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 07-03-2009
Ex-Capsa's Avatar
Ex-Capsa Ex-Capsa is offline VIP Member  
VIP-Mitglied
  
 

Join Date: März 2009
Ort: Kanada / Québec / Montreal
Beiträge: 29
Brauchen Sie Hilfe Verständnis Perl-Script-Fehler

Ich gesuchten dieser Seite Anfang dieser Woche und hat eine gute Antwort für eine perl
Script, damit ich dieses Skript von dem, was verstanden, aus den Antworten
Aber jetzt habe ich einen Fehler und ich bin Stumpf. Es ist nicht richtig analysieren die
Leistung bleibt es in der ersten Zeile Ihr $ f2 und Sonderdrucke in einer Endlosschleife
Ich bin sicher, es gibt bessere Möglichkeiten als diese. Aber das ist, was ich will, zu lösen
Dan

Dies ist das Skript

Code:
 
#!/usr/local/bin/perl -w
use strict;
 
die "Usage: $0 <file1> <file2> <file_out>\n" unless $#ARGV==2;
my ($file1, $file2, $file3) = @ARGV;
 
open my $f1_in, $file1 or die "Could not open $file1\n";
open my $f2_in, $file2 or die "Could not open $file2\n";
open(my $f3_out, '>', $file3) or die "Could not open $file3: $!\n";
 
while (my $f1 = <$f1_in>) {
my $f2 = <$f2_in>;
$f1 =~ s/^\s+|\s+$//g;
$f2 =~ s/^\s+|\s+$//g;
 
#$\ = "\n";
my $FS = '|';
$, = ',';
 
my $Fld0 = shift;
my $Fld1 = shift;
my $Fld2 = shift;
my $Fld3 = shift;
my $Fld4 = shift;
my $Fld5 = shift;
my $Fld6 = shift;
my $Fld7 = shift;
my $Fld8 = shift;
my $Fld9 = shift;
my $Fld10 = shift;
 
while ($f2){
($Fld0,$Fld1,$Fld2,$Fld3,$Fld4,$Fld5,$Fld6,$Fld7,$Fld8,$Fld9,$Fld10) = split(/[|\n]/,$f2, -1);
print $f3_out ($Fld0, $Fld1, $Fld2, $Fld3, $Fld4, $Fld10);
}
}

Zuletzt bearbeitet von vidyadhar85; am 07-03-2009 06:46 PM.. Grund: Code-Tags hinzugefügt
  #2 (permalink)  
Old 07-04-2009
KevinADC KevinADC is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 731
Ich bin mir nicht sicher, was alle, die "Shift"-Linien sind in dort, aber die Schleife Problem ist hier:
Code:
while ($f2){
($Fld0,$Fld1,$Fld2,$Fld3,$Fld4,$Fld5,$Fld6,$Fld7,$Fld8,$Fld9,$Fld10) = split(/[|\n]/,$f2, -1);
print $f3_out ($Fld0, $Fld1, $Fld2, $Fld3, $Fld4, $Fld10);
}
}
Sie müssen, um die "while"-Schleife:

Code:
($Fld0,$Fld1,$Fld2,$Fld3,$Fld4,$Fld5,$Fld6,$Fld7,$Fld8,$Fld9,$Fld10) = split(/[|\n]/,$f2, -1);
print $f3_out ($Fld0, $Fld1, $Fld2, $Fld3, $Fld4, $Fld10);

}

Ich weiß nicht, ob, durch die Sie den Code etwas nützlich, aber hoffentlich wird es laufen, und Sie können bei Bedarf weitere ändern.
  #3 (permalink)  
Old 07-05-2009
Ex-Capsa's Avatar
Ex-Capsa Ex-Capsa is offline VIP Member  
VIP-Mitglied
  
 

Join Date: März 2009
Ort: Kanada / Québec / Montreal
Beiträge: 29
Vielen Dank für die Antwort

Ich möchte es aber nicht endlos Schleife in der ersten Zeile von datei2.
Datei2 hat 24.000 Datensätze aufgeteilt in 10 Felder Ich habe es funktioniert
Nun, aber ich bin mit 2-Skripten zu tun, es zu einem Auszug der Aufzeichnungen der
Andere Spiele werden. Was ich zu tun versuchen, ist die Kombination von ihnen
In einem

THK
  #4 (permalink)  
Old 07-05-2009
KevinADC KevinADC is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 731
Wenn Sie nicht wollen, dass die Schleife endlos dann entfernen Sie das ", während" Loop Ich zeigte Ihnen zu entfernen.

---------- Post aktualisiert am 02:25 PM ---------- zurück Update wurde am 02.15 Uhr ----------

Vielleicht ist dies w2hat Sie machen wollen:

Code:
#!/usr/local/bin/perl
use warnings;
use strict;
 
die "Usage: $0 <file1> <file2> <file_out>\n" unless $#ARGV==2;
my ($file1, $file2, $file3) = @ARGV;
 
open my $f1_in, $file1 or die "Could not open $file1\n";
open my $f2_in, $file2 or die "Could not open $file2\n";
open(my $f3_out, '>', $file3) or die "Could not open $file3: $!\n";
 
while (my $f1 = <$f1_in>) {
   my $f2 = <$f2_in>;
   $f1 =~ s/^\s+|\s+$//g;
   $f2 =~ s/^\s+|\s+$//g;
 
   my($Fld0,$Fld1,$Fld2,$Fld3,$Fld4,$Fld5,$Fld6,$Fld7,$Fld8,$Fld9,$Fld10) = split(/\|/,$f2, -1);
   print $f3_out join(',',$Fld0, $Fld1, $Fld2, $Fld3, $Fld4, $Fld10);
}
Reply

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 07:13 AM.


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