Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8621[/thread]

Suche in bestimmten Zeilen nach bestimmtem Wort

Leser: 1


<< |< 1 2 3 >| >> 29 Einträge, 3 Seiten
kabazza
 2007-01-04 19:25
#72877 #72877
User since
2006-11-23
23 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich hab eine DAtei die in etwa so aussieht:

AA wort1 wort2 wort3....
BB wort1 wort2 wort3....
CC wort1 wort2 wort3....
...
nun will ich nur in einer bestimmten zeile (z.B. BB) nach einem bestimmten Wort suchen. wie ist da eine gute vorgehensweise und wie kann ich das als code möglist einfach aufsetzen?

bye
MisterL
 2007-01-04 20:19
#72878 #72878
User since
2006-07-05
334 Artikel
BenutzerIn
[default_avatar]
Guten Abend.

Mein Angebot: CPAN:Tie::file sowie CPAN:Spreadsheet Read
Quelle dieser Weisheit: Mein Weihnachtsgeschenk :)
“Perl is the only language that looks the same before and after RSA encryption.”
renee
 2007-01-04 21:11
#72879 #72879
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Oder ohne Module:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
my $file = '/path/to/file';
my $line_start = 'BB';
my $search = 'wort3';

open my $fh,'<',$file or die $!;
while(my $line = <$fh>){
next unless $line =~ /^\Q$line_start\E/;
print "yes\n" if $line =~ /\Q$search\E/;
}
close $fh;


CPAN:Tie::File ist aber ein guter Hinweis von MisterL
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/
kabazza
 2007-01-07 20:10
#72880 #72880
User since
2006-11-23
23 Artikel
BenutzerIn
[default_avatar]
mit cpan-modulen hat ich noch nie was gemacht, da rookie.
ich probier morgen mal den code aus.

DANKE
bloonix
 2007-01-08 16:50
#72881 #72881
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Falls du weisst, in welcher Zeile sich der String befindet, dann kannst du
auch direkt dorthin springen, vorausgesetzt, jede Zeile hat die gleiche
länge.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
use strict;
use warnings;

sub create_file ($$) {
  my ($lines, $file) = @_;
  open my $fh, '>', $file or die $!;
  for (1..$lines) {
     print $fh sprintf("%0".length($lines)."d", $_), " wort1 wort2 wort3\n";
  }
  close $fh;
}

sub search_in_file ($$$) {
  my ($line, $file, $search) = @_;
  open my $fh, '<', $file or die $!;
  my $first_line = <$fh>;
  my $length = length($first_line);
  seek($fh, $length*(--$line), 0);
  my $this_line = <$fh>;
  return 1 if $this_line =~ /$search/;
  return undef;
}

my $lines  = 100000;
my $search = 'wort1';
my $line   = 50000;
my $file   = './test.txt';

create_file($lines, $file);

if (search_in_file($line, $file, $search)) {
  print "HIT\n";
} else {
  print "NO HIT\n";
}
\n\n

<!--EDIT|opi|1168267865-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
kabazza
 2007-01-09 14:02
#72882 #72882
User since
2006-11-23
23 Artikel
BenutzerIn
[default_avatar]
ich will in bestimmten zeilen suchen, ob sich der string dort befindet und dann eine andere zeile ausgeben. die länge ist sehr unterschiedlich.
ich suche z.b. nach "dummy" in den zeilen AA und DD, will aber zeile CC, GG und HH ausgegeben haben.
bloonix
 2007-01-09 14:09
#72883 #72883
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=kabazza,09.01.2007, 13:02]ich suche z.b. nach "dummy" in den zeilen AA und DD, will aber zeile CC, GG und HH ausgegeben haben.[/quote]
Welche Logik verbirgt sich hier hinter?\n\n

<!--EDIT|opi|1168344560-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
kabazza
 2007-01-09 14:17
#72884 #72884
User since
2006-11-23
23 Artikel
BenutzerIn
[default_avatar]
in der einen zeile steht das schlüsselwort, z.b. eine gesuchte krankheit, in einer anderen das passende medikament oder die gesuchte typenbezeichnung für ein auto, in einer andern aber die ps zahl.\n\n

<!--EDIT|kabazza|1168345099-->
renee
 2007-01-09 14:20
#72885 #72885
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Und wie hängen die zusammen?

Poste doch mal ein Beispiel. Mit der vagen Beschreibung kann man nicht wirklich helfen...
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/
kabazza
 2007-01-09 14:34
#72886 #72886
User since
2006-11-23
23 Artikel
BenutzerIn
[default_avatar]
AA Mercedes
BB 230E
CC 5 Sitze
DD 400l Kofferraum
EE 132PS/ ??KW
...
AA Mercedes
BB 500SL
CC 2 Sitze
DD 150l Kofferraum
EE 350 PS
...
AA BMW
...
ich suche dann z.b. nach "Mercedes" in allen Zeilen "AA", will aber nur die Zeile "DD" und "EE" ausgegeben haben.\n\n

<!--EDIT|kabazza|1168528791-->
<< |< 1 2 3 >| >> 29 Einträge, 3 Seiten



View all threads created 2007-01-04 19:25.