Re: doppelte zeilen raussuchen

2006-06-26 Diskussionsfäden lars


moin, liste,


und danke für eure tipps -  vor allem den von tim:



Ein Perl Script sollte hier die besten Dienste leisten.

  http://learn.perl.org/

Es lohnt sich und ist nicht besonders schwer.



aus der dalug hat mir ein freundlicher mensch dieses perl-script  
geschickt:



#!/usr/bin/perl

while (<>) {
push @lines, $_;
$seen{$_}++ if /\@/;
}

foreach (@lines) {
print $_ unless $seen{$_} > 1;
}


aufgerufen mit:


perl -w aussortier-script.pl < abstimmungsergebnis > ergebnis-ohne- 
duplicate



funktioniert es.



perl scheint ja wirklich cool zu sein, man müsste einfach mehr zeit  
haben, sich das mal anzusehen ;-)




danke und gruss



lars behrens



Re: doppelte zeilen raussuchen

2006-06-26 Diskussionsfäden Hans-Juergen Tappe
Christian Frommeyer wrote:
> # cat JA-stimmen NEIN-stimmen Enthaltungen | sort | uniq -D > doppelte
> # grep -v -f doppelte JA-stimmen > ja
> # grep -v -f doppelte NEIN-stimmen > nein
> # grep -v -f doppelte Enthaltungen > ent

neu$ for i in ja nein ent ; do echo "=== $i:"; cat $i; done
=== ja:
foo
bar
baz
=== nein:
foo
bla
blatz
=== ent:
for
la
lala
bar

neu$ sort ja nein ent | uniq -d
bar
foo
neu$ sort ja nein ent | uniq -D
bar
bar
foo
foo

Viele Grüße,
Hans-Jürgen



Re: doppelte zeilen raussuchen

2006-06-26 Diskussionsfäden Moritz Lenz
Hallo,

lars wrote:
> JA-stimmen:
> 
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> 
> NEIN-stimmen:
> 
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> 
> ENTHALTUNGEN:
> 
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> 
> 
> 
> diese datei soll das ergebnis einer umfrage per email aufzeigen.
> doppelte nennungen sollen herausgefiltert werden.


[EMAIL PROTECTED]:~/tmp/neu>cat ja
foo
bar
baz
[EMAIL PROTECTED]:~/tmp/neu>cat nein
foo
fee
qox
[EMAIL PROTECTED]:~/tmp/neu>cat ja|while read i; do grep "^$i$" nein >
/dev/null || echo $i; done
bar
baz

sowas? die Verallgemeinerung auf drei Dateien schaffst du sicher auch
noch...

Das geht nur solange gut, wie keine Steuerzeichen für regexp in den
Dateien stehen. Wenn also Punkte drin vorkommen bekommst du false
positives (ein Punkt matched ein beliebiges Zeichen...), d.h. wenn in
einer Zeile sowas wie .* steht ist das Verfahren im Eimer. Dann kann man
ja immer noch ein kleines Perlscript für sowas schreiben...

Grüße,
Moritz

> 
> doppelte nennungen bei den maileingängen von JA, NEIN und ENTHALTUNGEN
> habe ich bereits per
> 
> cat JA-stimmen | sort | uniq > JA
> 
> aussortiert.
> 
> mit uniq geht das in der endgültigen datei aber nicht, da ich vorher mit
> sort sortieren müsste; sortieren darf ich aber nicht, weil dann die
> zuordnungen zu JA, NEIN und ENTHALTUNGEN nicht mehr passen würden.
> 
> 
> uniq -D gibt mir eine leere datei.
> 
> 
> unter windows gibt es dafür ein tool namens "dupli find" - echt klasse,
> nur leider zeigt es die doppelten einträge lediglich an ohne
> verarbeitungsmöglichkeit.
> 
> 
> hat jemand eine idee, welches linux-ttol ich dafür verwenden könnte ... ?
> 
> 
> 
> vielen dank im voraus!
> 
> 
> gruss
> 
> 
> lars behrens
> 
> 
> 


-- 
Moritz Lenz
http://moritz.faui2k3.org/



signature.asc
Description: OpenPGP digital signature


Re: doppelte zeilen raussuchen

2006-06-26 Diskussionsfäden Tim Richter
lars schrieb:
> hallo, liste,
> 
> 
> ich habe eine datei, die dreigeteilt ist nach diesem muster:
> 
> 
> JA-stimmen:
> 
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> 
> NEIN-stimmen:
> 
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> 
> ENTHALTUNGEN:
> 
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> 
> 
> 
> diese datei soll das ergebnis einer umfrage per email aufzeigen. 
> doppelte nennungen sollen herausgefiltert werden.
> 
> doppelte nennungen bei den maileingängen von JA, NEIN und  ENTHALTUNGEN
> habe ich bereits per
> 
> cat JA-stimmen | sort | uniq > JA
> 
> aussortiert.
> 
> mit uniq geht das in der endgültigen datei aber nicht, da ich vorher 
> mit sort sortieren müsste; sortieren darf ich aber nicht, weil dann  die
> zuordnungen zu JA, NEIN und ENTHALTUNGEN nicht mehr passen würden.
> 
> 
> uniq -D gibt mir eine leere datei.
> 
> 
> unter windows gibt es dafür ein tool namens "dupli find" - echt  klasse,
> nur leider zeigt es die doppelten einträge lediglich an ohne 
> verarbeitungsmöglichkeit.
> 
> 
> hat jemand eine idee, welches linux-ttol ich dafür verwenden  könnte ... ?
> 

Ein Perl Script sollte hier die besten Dienste leisten.

  http://learn.perl.org/

Es lohnt sich und ist nicht besonders schwer.

Gruss

 Tim


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: doppelte zeilen raussuchen

2006-06-26 Diskussionsfäden Matthias Haegele

lars schrieb:

hallo, liste,


Hi Lars!.



ich habe eine datei, die dreigeteilt ist nach diesem muster:


JA-stimmen:

[EMAIL PROTECTED]
[EMAIL PROTECTED]

NEIN-stimmen:

[EMAIL PROTECTED]
[EMAIL PROTECTED]

ENTHALTUNGEN:

[EMAIL PROTECTED]
[EMAIL PROTECTED]



diese datei soll das ergebnis einer umfrage per email aufzeigen. 
doppelte nennungen sollen herausgefiltert werden.


[...]

hat jemand eine idee, welches linux-ttol ich dafür verwenden könnte ... ?


vielleicht wc oder/und das "hässliche" awk/sed?
so ungefähr:
suche nach E-Mail-Adresse wenn >1 dann alle weiteren verwerfen,
vielleicht ginge dass in einer Schleife mit sed etc. (iirc -d)
sorry mehr fällt mir momentan nicht ein.


vielen dank im voraus!


gruss


lars behrens


hth
MH


--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/


Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: doppelte zeilen raussuchen

2006-06-26 Diskussionsfäden Christian Frommeyer
Am Montag 26 Juni 2006 15:19 schrieb lars:
> doppelte nennungen bei den maileingängen von JA, NEIN und
> ENTHALTUNGEN habe ich bereits per
>
> cat JA-stimmen | sort | uniq > JA
>
> aussortiert.
>
> mit uniq geht das in der endgültigen datei aber nicht, da ich vorher
> mit sort sortieren müsste; sortieren darf ich aber nicht, weil dann
> die zuordnungen zu JA, NEIN und ENTHALTUNGEN nicht mehr passen
> würden.

Du könntest mit

# cat JA-stimmen NEIN-stimmen Enthaltungen | sort | uniq -D > doppelte
# grep -v -f doppelte JA-stimmen > ja
# grep -v -f doppelte NEIN-stimmen > nein
# grep -v -f doppelte Enthaltungen > ent

Die Dateien vorverarbeiten bevor Du sie zusammenfügst. Ich hab die 
Befehle allerdings nicht getestet.

Gruß Chris

-- 
A: because it distrupts the normal process of thought
Q: why is top posting frowned upon



doppelte zeilen raussuchen

2006-06-26 Diskussionsfäden lars

hallo, liste,


ich habe eine datei, die dreigeteilt ist nach diesem muster:


JA-stimmen:

[EMAIL PROTECTED]
[EMAIL PROTECTED]

NEIN-stimmen:

[EMAIL PROTECTED]
[EMAIL PROTECTED]

ENTHALTUNGEN:

[EMAIL PROTECTED]
[EMAIL PROTECTED]



diese datei soll das ergebnis einer umfrage per email aufzeigen.  
doppelte nennungen sollen herausgefiltert werden.


doppelte nennungen bei den maileingängen von JA, NEIN und  
ENTHALTUNGEN habe ich bereits per


cat JA-stimmen | sort | uniq > JA

aussortiert.

mit uniq geht das in der endgültigen datei aber nicht, da ich vorher  
mit sort sortieren müsste; sortieren darf ich aber nicht, weil dann  
die zuordnungen zu JA, NEIN und ENTHALTUNGEN nicht mehr passen würden.



uniq -D gibt mir eine leere datei.


unter windows gibt es dafür ein tool namens "dupli find" - echt  
klasse, nur leider zeigt es die doppelten einträge lediglich an ohne  
verarbeitungsmöglichkeit.



hat jemand eine idee, welches linux-ttol ich dafür verwenden  
könnte ... ?




vielen dank im voraus!


gruss


lars behrens