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

Zeilen mit leerzeichen aus dem text löschen

Leser: 2


<< >> 9 Einträge, 1 Seite
KonstantinPetri
 2007-03-29 13:27
#75507 #75507
User since
2007-03-29
4 Artikel
BenutzerIn
[default_avatar]
Hallo Leute,
Habe ein text file, wo folgende Zeilen vorkommen
text;txt ;text ;16 ;32 ;23 ;text # zeile soll bleiben
text;txt;;;;; #zeile soll gelöscht werden

Danke
renee
 2007-03-29 13:29
#75508 #75508
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Die Überschrift passt nicht so ganz zu der Frage, oder? Willst Du Zeilen mit Leerzeichen gelöscht werden, oder Zeilen (anscheinend einer CSV-Datei), die leere "Felder" hat - also 2 oder mehrere ";" direkt hintereinander stehen?
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/
KonstantinPetri
 2007-03-29 13:32
#75509 #75509
User since
2007-03-29
4 Artikel
BenutzerIn
[default_avatar]
Sorry, recht erkannt es ist eine .csv Also die komplette Zeile aus dem file, soll gelöscht werden.
havi
 2007-03-29 13:35
#75510 #75510
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
... ich denke du suchst so etwas:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl

use warnings;
use strict;
my $zeile = "text;txt ;text ;16 ;32 ;23 ;text ";

my @aiZeile = split(/;/, $zeile);

foreach (@aiZeile) {
s%^\s+%%g;
s%\s+$%%g;
} # foreach

print join(";", @aiZeile);


Gruss,
havi
KonstantinPetri
 2007-03-29 13:50
#75511 #75511
User since
2007-03-29
4 Artikel
BenutzerIn
[default_avatar]
Genau, wow es ging schell.Danke schön!
renee
 2007-03-29 14:17
#75512 #75512
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Die Lösung passt aber nicht so wirklich zur Aufgabe *grübel*

Im Ursprungspost stand was von "Zeile löschen"...
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/
havi
 2007-03-29 17:06
#75513 #75513
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
[quote=renee,29.03.2007, 12:17]Die Lösung passt aber nicht so wirklich zur Aufgabe *grübel*

Im Ursprungspost stand was von "Zeile löschen"...[/quote]
Laut Antwort sollte es aber passen!

... dachte mir schon das er sicher keine Zeilen loeschen will.

Gruss
KonstantinPetri
 2007-03-30 09:57
#75514 #75514
User since
2007-03-29
4 Artikel
BenutzerIn
[default_avatar]
Nachdem ich es ausprobiert habe tut es ja doch nicht ganz genau was ich brauche.
Lösung von havi zerlegt die Zeile in area und druckt die volle einzelne felder mit ";" dazwieschen. Ich brauche aber keinen text, wenn es dahinter nichts steht. Aber die idee hat mir gefahlen.
Mit code in Perl bin ich nicht besonders gut vertraut.
Ich selbst dachte an folgende Lösung:
Es soll möglich sein: die datei line by line einzulesen und der wert (länge des string) mit grenzwert vergleichen und dann nur die zeilen drucken die etwas beinhalten. Und die datei wieder schlißen. Mit Perl soll es Kinderspiel sein.Oder? Es ist nur die Frage wie?
renee
 2007-03-30 10:54
#75515 #75515
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zeige am besten mal ein paar Beispielzeilen und schreibe dazu was am Ende rauskommen soll (mit Begründung).

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use Tie::File;

my $file = '/path/to/file';

tie my @lines,'Tie::File',$file or die $!;
@lines = grep{ is_wanted($_) }@lines;
untie @lines;

sub is_wanted{
my ($line) = @_;

my $return = 0;
if($bedingung_dass_Zeile_erhalten_bleiben_soll){
$return = 1;
}

return $return;
}
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/
<< >> 9 Einträge, 1 Seite



View all threads created 2007-03-29 13:27.