Re: doppelte zeilen raussuchen

2006-06-27 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



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





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



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 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 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/neucat ja
foo
bar
baz
[EMAIL PROTECTED]:~/tmp/neucat nein
foo
fee
qox
[EMAIL PROTECTED]:~/tmp/neucat 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 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