PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage: Aus 3 mach 1?



tekbiri
23-07-2002, 18:45
Hallo

Wie manch andere bin ich auch nur ein Anfänger und deswegen wenn ich ein fehler mach bitte nicht böse sein!

So nun zur meiner frage :
Wenn ich ein ergebnis habe das so ausschaut:

111.111.111.111
111.111.111.111
111.111.111.111
222.222.222.222
222.222.222.222
222.222.222.222
333.333.333.333
333.333.333.333
333.333.333.333

Wie stelle ich es an das ich aus diesem Ergebnis sowas bekomme:
111.111.111.111
222.222.222.222
333.333.333.333

Danke für eure Hilfe schon im vorraus!

fork
23-07-2002, 19:03
#!/usr/bin/perl
print "Falscher Aufruf! Richtig: $0 <Eingabedatei>\n" and exit unless(@ARGV);
while($N=<>) { ($N ne $P) && print $N; $P=$N; }


Wenn Du mehr wissen willst schau Dir die Bashprogrammierung an(Das hier ist Perl)
-> Die Shellscript-FAQ (http://www.linuxforen.de/forums/showthread.php?s=&threadid=18709)
-> http://www.linuxfibel.de/bashprog.htm

tekbiri
23-07-2002, 19:24
Hallo

Dein Script habe ich zwar probier, aber funktionieren tuts nicht :
wenn ich mach:


./script datei

Kommt nichts als ergebnis!

Danke für die Links!

Sebastian
23-07-2002, 20:57
Wo kommen diese Daten denn her?

ansonsten mach doch einfach einen Hash, und pack dort deine Werte als Schlüssel rein.




# in perl
%werte = (); # leerer hash

# alle werte verarbeiten
foreach $val (@ganz_viele_vermischte) {
$werte{$val} = 1;
}

# die einzigartigen werte ausgeben
forech $endwerte (keys %werte) {
print "$endwerte\n";
}


Das funktioniert natürlich nur bei einer begrenzten Anzahl.. bei mehreren Hundert musst du da anders vorgehen

fork
23-07-2002, 23:22
Du hast nicht zufällig die Stelle in dem ersten Dokument überlesen wo drinsteht das Du ein Script erst mit chmod +x scriptname ausführbar machen musst?

lankin
24-07-2002, 08:26
hai auch,

also ich würde bei den daten einfach
je nach dem wad ich will eines der folgenden
commandos benutzen:

# uniq <eingabefile>
(macht genau das geforderte)

# uniq -c <eingabefile>
(zusätzlich mit zählen der mehrfach-einträge)

# sort -u <eingabefile>
(falls die reihenfolge erst geordnet werden muss)

# sort <eingabefile>| |uniq -c
(ordenen und zählen)

naja, einfach mal ausprobieren.

ciao
lankin

tekbiri
24-07-2002, 17:44
Hallo

@fork ich habe nicht auf chmod +x vergessen!
@lankin danke genau das wollte ich!

Ciao