[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: