Re: Suche nach RegEx für sed
Goran <xamiw@arcor.de> wrote:
> Hallo Alexander, hallo *,
Hallo Goran, bitte lies mal http://learn.to/quote und lass dann das
TOFU.
> Ich suche ein Regex für sed damit ich die Zeilen löschen kann die ein
> bestimmtes Zeichen (z.B.: 0) zwischen dem 26 und 27 Semikolon stehen
> haben...
>
> sed -e '/wenn 0 zwischen dem 26'sten und 27'sten Semikolon/d' table.csv
Wie gesagt, vergiss sed. Ich hatte keine Lust auf 27 Semikolons, aber
mit 20 Feldern geht es so:
perl -n -e '@a=split /;/;$a[16]==0 or print;' table.csv > table_new.csv
oder länger und vielleicht verständlicher:
#!/usr/bin/perl
use strict;
use warnings;
open(TABLE,'<',"table.csv");
open(OUTTABLE,'>',"table_new.csv");
sub isnullfield {
my $fieldnumber = shift;
$_[$fieldnumber] == 0;
}
foreach my $line (<TABLE>) {
isnullfield(16,split(/;/,$line)) || print OUTTABLE $line;
};
Gruß, Frank
--
Dr. Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX/TeXLive)
Reply to: