Schrift
[thread]13065[/thread]

Zeilen bei bestimmten Inhalt aussortieren



<< >> 3 Einträge, 1 Seite
Gast Gast
 2009-01-28 15:16
#118419 #118419
Moin zusammen!

folgende Frage:

Ich zig Dateien mit je mehreren zehntausend Zeilen (Seismik-Messungen, zu denen pro Sekunde etwa 10 zeilen geschrieben werden, über bisher einen Monat hinweg). In die erste Spalte dieser Dateien lasse ich den Dateinamen schreiben, dass soll aber u.a. nur dann passieren, wenn der Dateiname dort nocht nicht steht! Und das funkioniert mit meinen Dateinamen nicht, die sehen beispielsweise so aus:
03120801_002_export (1).txt
Mit Leerzeichen drin usw.. Das Stück aus dem Skript unten funktioniert, wenn $filename ein "vernünftiger" Dateiname ist, aber mit meinen Monster-Dateinamen nicht. Ich wäre dankbar, wenn jemand einen Tip hat, wie ich das machen kann.

Code (perl): (dl )
1
2
3
4
5
6
foreach $zeile (@datei){
  unless (bedingung1 || bedingung2 || $zeile =~$filename){
  $datei[$j]="$filename $datei[$j]";                            
  $j++;                 
   }
}


Danke,
Peter
renee
 2009-01-28 16:03
#118421 #118421
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das Problem sind die Klammern im Dateinamen. Die musst Du durch Quoting "unschädlich" machen:

Code (perl): (dl )
$zeile =~ /\Q$filename\E/


Siehe auch perldoc perlretut
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2009-01-28 16:44
#118428 #118428
Tausend Dank, funktioniert!
<< >> 3 Einträge, 1 Seite



View all threads created 2009-01-28 15:16.