Hi Michael,
On Sat, Sep 10, 2005 at 01:39:58PM +0200, Michael Bischof wrote:
> find . -exec md5sum {} 2>/dev/null \; | sort | uniq -w 1 -D >
> doppelte.asc
Also bei meiner Version von uniq muss das ein großes "-W"
sein, sonst zeigt er dir alle Dateien als doppelt an.
--- man uniq ----
-w, --check-chars=N
compare no more than N characters in lines
-W, --check-fields=N
compare no more than N fields in lines
--------
> Ein Ausschnitt daraus:
>
> "0006d3bb4b582ded8972dc2a97c8ab5c ./1112908626.1866.2kEg:2,S
> 000b81151adb794307c49e1e4404f30c ./1119137561.3323.7eVT:2,S
> 000fc0ca06e96ae2c26fa3e91399c7f8 ./1108187879.1759.BKci:2,S
> 001982855e3bd11b9b5e8fd642987c6b ./1100885718.2669.S2Xk:2,S
> 001e19368863097aaf496ddc3a3dc879 ./1087932787.2866.eBWT:2,S
> 00211219a3fd4043dc69f058145f4667 ./1125592410.4686.W985:2,S
> 002a3b2db9b01ec41a301a6e8f8f6404 ./1105035204.2462.VrJ7:2,RS"
>
> Jetzt meine Frage: wie kann ich nun von den doppelt vorhandenen Dateien nur
> die doppelte löschen, eine aber drin lassen ?
Du könntest "cat doppelte.asc | uniq -W 1" machen, das
sollte dir immer nur eine der doppelten Dateien anzeigen.
Eine Liste aller Dateien die du löschen musst, kannst du Beispielsweise mit
"cat doppelte.asc | uniq -W 1 | cut -d' ' -f 3 > zuLoeschen.list"
bekommen. Aber sicher das ganze vorher bitte ;)
>
> Anders gesagt: ich verstehe nicht was der Ausdruck sagt - der erste Teil ist
> wohl was mit md5-sum, der zweite wohl die Nummer der Datei.
Das zweite ist der Dateiname.
>
> Und letzte Frage:
> wie könnte man in diesem Ordner alle Dateien, in denen am Anfang die Zeile
> vorkommt
> "From: Michael Bischof <[EMAIL PROTECTED]>"
> löschen ?
"grep -l 'From: Michael Bischof <[EMAIL PROTECTED]>' *" sollte dir alle
Dateinamen geben.
"rm `grep -l 'From: Michael Bischof <[EMAIL PROTECTED]>' *`" könntest du
zum Löschen verwenden.
Gruss Benny.
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org