Schrift
[thread]8476[/thread]

String in Zeile einer Datei suchen (Seite 2)



<< |< 1 2 >| >> 19 Einträge, 2 Seiten
Crian
 2006-11-06 14:32
#71458 #71458
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Ja... auch kein Perl. egrep wär dann dein Freund.\n\n

<!--EDIT|Crian|1162816397-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Kalmuecke
 2006-11-06 14:32
#71459 #71459
User since
2006-10-14
68 Artikel
BenutzerIn
[default_avatar]
Sorry, du hast mich falsch verstanden!

Ich habe eine TXT-Datei in der suche ich nach 8 verschiendenen regulären Ausdrücken und ich möchte mir die erste Zeile in der einer der Ausdrücke vorkommt speichern, bis ich alle 8 durch habe.
Sprich ich habe am Ende 8 Zeilen in denen jeweils meine Ausdrücke drin vorkamen!
renee
 2006-11-06 14:34
#71460 #71460
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn zu jedem RegEx die Zeile gespeichert werden soll, in der der jeweilige RegEx als erstes aufgetaucht ist:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
my %hash;
my @regexs = (Ausdruck1, Ausdruck2, Ausdruck3);
open my $fh,'<',$filename or die $!;
while(my $line = <$fh>){
my ($regex) = grep{$line =~ /$_/}@regexs;
$hash{$regex} = $line unless exists $hash{$regex};
}
close $fh;

my @lines = values %hash;
print $_ for @lines;


Wenn die Reihenfolge noch wichtig ist:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
my %hash;
my @regexs = (Ausdruck1, Ausdruck2, Ausdruck3);
open my $fh,'<',$filename or die $!;
while(my $line = <$fh>){
my ($regex) = grep{$line =~ /$_/}@regexs;
$hash{$regex} = [$line,$.] unless exists $hash{$regex};
}
close $fh;

my @lines = map{$_->[0]}sort{$a->[1] <=> $b->[1]}values %hash;
print $_ for @lines;
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/
Crian
 2006-11-06 14:34
#71461 #71461
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Und wenn drei davon in der gleichen Zeile passen dann möchtest du 6 Zeilen haben?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Kalmuecke
 2006-11-06 14:35
#71462 #71462
User since
2006-10-14
68 Artikel
BenutzerIn
[default_avatar]
[quote=Crian,06.11.2006, 13:34]Und wenn drei davon in der gleichen Zeile passen dann möchtest du 6 Zeilen haben?[/quote]
Es können in meiner Datei immer alle der regulären Ausdrücke vorkommen! Sprich es gibt nie mehr als 8 Zeilen und auch nicht weniger als 8!!!\n\n

<!--EDIT|Kalmuecke|1162817182-->
Crian
 2006-11-06 14:39
#71463 #71463
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
mehr als acht kann es eh nie geben, du meinst weniger vermute ich
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Kalmuecke
 2006-11-06 14:52
#71464 #71464
User since
2006-10-14
68 Artikel
BenutzerIn
[default_avatar]
@ Renee

komisch nur das dein Code mir auch so etwas herausfiltert:

Quote
#|-----------------------------------------------------------------------------------|


?????????

Gibt es evt. auch noch eine einfachere Lösung zu meinem Problem? Ich habe doch ein wenig Probleme die Codezeilen zu verstehen!!!
renee
 2006-11-06 15:06
#71465 #71465
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ob das komisch ist oder nicht, hängt davon ab, wie Deine Regulären Ausdrück aussehen. Zeig doch mal eine Beispiel-Datei und Deinen Code...

Ich bin gerade dabei, etwas für die Erklärung zu schreiben...
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/
renee
 2006-11-06 15:09
#71466 #71466
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Verstehst Du etwas anderes als map, sort nicht?
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/
<< |< 1 2 >| >> 19 Einträge, 2 Seiten



View all threads created 2006-11-06 12:08.