Thread Doppelte Werte Ausfiltern (8 answers)
Opened by Lebewesen at 2012-05-03 16:46

Linuxer
 2012-05-03 17:44
#158014 #158014
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
Wenn es Dir nur ums Eindampfen geht (verringern der Zeilenzahl):

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

# skript.pl

use strict;
use warnings;

while ( my $line = <> ) {

  my ($id, $date, $value ) = split /;\s*/, $line;

  # gebe Zeile aus, wenn $value noch nicht aufgetaucht ist...
  print $line  if !$seen{$value}++;
}


(frei nach http://perldoc.perl.org/perlfaq4.html#How-can-I-re...)

Verwendung:
Code: (dl )
skript.pl input.csv > output.csv


Wenn die CSV-Daten komplexer sind und eine "Zelle" auch mehrere Zeilen enthält, sollte CPAN:Text::CSV oder ein ähnliches Modul verwendet werden, um die Datenzeilen zu lesen und zu splitten.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Doppelte Werte Ausfiltern