/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
finde indentiske filer
Fra : Mikael Hansen


Dato : 02-08-04 07:55

Har opdaget at jeg formodentlig har en samling filer jeg nok har 2-3
kopier af.

Er der nogen der kender et script eller lignende, der kan gennemsøge en
del af filsystemet, og lave en bit for bit sammenligning af filer med
indentisk filnavn, og lave en tekstfil med path til de indentiske filer,
så jeg lettere manuelt kan sortere ud i det?

fra udgangspunktet er der følgende tre biblioteker der skal gennemsøges
(med alle underbiblioteker)


hde5/
hde9/
Mikael/

Der er igen af disse biblioteker der kan antages at være reference, som
man alene kan tage udgangspunkt i.

Resultatet behøves ikke at blive filtreret for evt. dobbelt resultater.

Scriptet tænkes kørt på en "Mandrake 9.1 PPC" som et baggrundsjob den
bare kan få lov et tygge på til den er færdig, det behøves ikke at være
hastighedsoptimeret, bare simpelt.

m.v.h. Mikael


 
 
Peter Makholm (02-08-2004)
Kommentar
Fra : Peter Makholm


Dato : 02-08-04 08:00

Mikael Hansen <mikael.hansen@DELETE.post.cybercity.dk> writes:

> Er der nogen der kender et script eller lignende, der kan gennemsøge
> en del af filsystemet, og lave en bit for bit sammenligning af filer
> med indentisk filnavn, og lave en tekstfil med path til de indentiske
> filer, så jeg lettere manuelt kan sortere ud i det?

Prøv at se på fdupes. Det findes i Debian, mon ikke også det findes i
Mandrake?


--
Peter Makholm | What if:
peter@makholm.net | Tanenbaum had convinced Linus that his
http://hacking.dk | operating system really was obsolete

Mikael Hansen (02-08-2004)
Kommentar
Fra : Mikael Hansen


Dato : 02-08-04 08:36

Peter Makholm wrote:
> Mikael Hansen <mikael.hansen@DELETE.post.cybercity.dk> writes:
>
>
>>Er der nogen der kender et script eller lignende, der kan gennemsøge
>>en del af filsystemet, og lave en bit for bit sammenligning af filer
>>med indentisk filnavn, og lave en tekstfil med path til de indentiske
>>filer, så jeg lettere manuelt kan sortere ud i det?
>
>
> Prøv at se på fdupes. Det findes i Debian, mon ikke også det findes i
> Mandrake?
>
>

Nej, den er efter hvad jeg lige kan se ikke med, men jeg har fundet den
som en tar.gz, så kan man jo lave den selv, men evt. andre forslag er
velkomne.

m.v.h. Mikael


Mikael Hansen (03-08-2004)
Kommentar
Fra : Mikael Hansen


Dato : 03-08-04 23:30

Mikael Hansen wrote:
> Peter Makholm wrote:
>
>> Mikael Hansen <mikael.hansen@DELETE.post.cybercity.dk> writes:
>>
>>
>>> Er der nogen der kender et script eller lignende, der kan gennemsøge
>>> en del af filsystemet, og lave en bit for bit sammenligning af filer
>>> med indentisk filnavn, og lave en tekstfil med path til de indentiske
>>> filer, så jeg lettere manuelt kan sortere ud i det?
>>
>>
>>
>> Prøv at se på fdupes. Det findes i Debian, mon ikke også det findes i
>> Mandrake?
>>
>>
>
> Nej, den er efter hvad jeg lige kan se ikke med, men jeg har fundet den
> som en tar.gz, så kan man jo lave den selv, men evt. andre forslag er
> velkomne.
>
> m.v.h. Mikael
>

Fik lavet en liste med denne ved at sende outputtet til en fil, ellers
sender den det til skærmen. Men filen skal lige renses for en masse
skrammel i starten hvor programmet åbenbart giver meddelelse om hvor
langt den er nået. tak for tippet.

m.v.h. Mikael


Peter Dalgaard (03-08-2004)
Kommentar
Fra : Peter Dalgaard


Dato : 03-08-04 23:40

Mikael Hansen <mikael.hansen@DELETE.post.cybercity.dk> writes:

> Mikael Hansen wrote:
> > Peter Makholm wrote:
> >
> >> Mikael Hansen <mikael.hansen@DELETE.post.cybercity.dk> writes:
> >>
> >>
> >>> Er der nogen der kender et script eller lignende, der kan gennemsøge
> >>> en del af filsystemet, og lave en bit for bit sammenligning af filer
> >>> med indentisk filnavn, og lave en tekstfil med path til de indentiske
> >>> filer, så jeg lettere manuelt kan sortere ud i det?
> >>
> >>
> >>
> >> Prøv at se på fdupes. Det findes i Debian, mon ikke også det findes i
> >> Mandrake?
> >>
> >>
> > Nej, den er efter hvad jeg lige kan se ikke med, men jeg har fundet
> > den som en tar.gz, så kan man jo lave den selv, men evt. andre
> > forslag er velkomne.
> > m.v.h. Mikael
> >
>
> Fik lavet en liste med denne ved at sende outputtet til en fil, ellers
> sender den det til skærmen. Men filen skal lige renses for en masse
> skrammel i starten hvor programmet åbenbart giver meddelelse om hvor
> langt den er nået. tak for tippet.

Er der egentlig noget here der ikke ku' have være ordnet med

diff -rqs dir1 dir2 | grep 'identical$'

Bare en tanke...

--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907

Mikael Hansen (04-08-2004)
Kommentar
Fra : Mikael Hansen


Dato : 04-08-04 00:08

Peter Dalgaard wrote:
> Mikael Hansen <mikael.hansen@DELETE.post.cybercity.dk> writes:
>
>
>>Mikael Hansen wrote:
>>
>>>Peter Makholm wrote:
>>>
>>>
>>>>Mikael Hansen <mikael.hansen@DELETE.post.cybercity.dk> writes:
>>>>
>>>>
>>>>
>>>>>Er der nogen der kender et script eller lignende, der kan gennemsøge
>>>>>en del af filsystemet, og lave en bit for bit sammenligning af filer
>>>>>med indentisk filnavn, og lave en tekstfil med path til de indentiske
>>>>>filer, så jeg lettere manuelt kan sortere ud i det?
>>>>
>>>>
>>>>
>>>>Prøv at se på fdupes. Det findes i Debian, mon ikke også det findes i
>>>>Mandrake?
>>>>
>>>>
>>>
>>>Nej, den er efter hvad jeg lige kan se ikke med, men jeg har fundet
>>>den som en tar.gz, så kan man jo lave den selv, men evt. andre
>>>forslag er velkomne.
>>>m.v.h. Mikael
>>>
>>
>>Fik lavet en liste med denne ved at sende outputtet til en fil, ellers
>>sender den det til skærmen. Men filen skal lige renses for en masse
>>skrammel i starten hvor programmet åbenbart giver meddelelse om hvor
>>langt den er nået. tak for tippet.
>
>
> Er der egentlig noget here der ikke ku' have være ordnet med
>
> diff -rqs dir1 dir2 | grep 'identical$'
>
> Bare en tanke...
>

Den godtager tilsyneladende ikke at jeg fra mit udgangspunkt har 3
biblioteker at sammenligne filer fra.

$ diff -rqs hde5/ hde9/ Mikael/ | grep 'identical$'
diff: ekstra operant 'Mikael/'
diff: Prøv 'diff --help' for mere information.

m.v.h. Mikael


Christian Laursen (02-08-2004)
Kommentar
Fra : Christian Laursen


Dato : 02-08-04 09:08

Mikael Hansen <mikael.hansen@DELETE.post.cybercity.dk> writes:

> Er der nogen der kender et script eller lignende, der kan gennemsøge
> en del af filsystemet, og lave en bit for bit sammenligning af filer
> med indentisk filnavn, og lave en tekstfil med path til de indentiske
> filer, så jeg lettere manuelt kan sortere ud i det?
>
> fra udgangspunktet er der følgende tre biblioteker der skal
> gennemsøges (med alle underbiblioteker)
>
>
> hde5/
> hde9/
> Mikael/

find hde5 hde9 Mikael -type f | xargs md5sum | sort | uniq -dD -w 32

--
Christian Laursen

Mikael Hansen (02-08-2004)
Kommentar
Fra : Mikael Hansen


Dato : 02-08-04 11:27

Christian Laursen wrote:
> Mikael Hansen <mikael.hansen@DELETE.post.cybercity.dk> writes:
>
>
>>Er der nogen der kender et script eller lignende, der kan gennemsøge
>>en del af filsystemet, og lave en bit for bit sammenligning af filer
>>med indentisk filnavn, og lave en tekstfil med path til de indentiske
>>filer, så jeg lettere manuelt kan sortere ud i det?
>>
>>fra udgangspunktet er der følgende tre biblioteker der skal
>>gennemsøges (med alle underbiblioteker)
>>
>>
>>hde5/
>>hde9/
>>Mikael/
>
>
> find hde5 hde9 Mikael -type f | xargs md5sum | sort | uniq -dD -w 32
>
Laver denne en textfil ?
kan man få en kort forklaring til hvordan den virker? (kun det mest
grundlæggende)


m.v.h. Mikael


Steen Suder, privat (02-08-2004)
Kommentar
Fra : Steen Suder, privat


Dato : 02-08-04 11:52

Mikael Hansen wrote:
> Christian Laursen wrote:
>
>> Mikael Hansen <mikael.hansen@DELETE.post.cybercity.dk> writes:
>>
>>
>>> Er der nogen der kender et script eller lignende, der kan gennemsøge
>>> en del af filsystemet, og lave en bit for bit sammenligning af filer
>>> med indentisk filnavn, og lave en tekstfil med path til de indentiske
>>> filer, så jeg lettere manuelt kan sortere ud i det?
>>>
>>> fra udgangspunktet er der følgende tre biblioteker der skal
>>> gennemsøges (med alle underbiblioteker)
>>>
>>>
>>> hde5/
>>> hde9/
>>> Mikael/
>>
>>
>>
>> find hde5 hde9 Mikael -type f | xargs md5sum | sort | uniq -dD -w 32
>>
> Laver denne en textfil ?

Nej, men sæt "> textfil" på i enden, så er den hjemme.

> kan man få en kort forklaring til hvordan den virker? (kun det mest
> grundlæggende)

* 'find'-kommandoen finder egentlige filer i hde5, hde9 og
Mikael-bibliotekerne.

* For hver fil fundet (kommandoen xargs), laver md5sum en checksum på filen.

* Der sorteres med 'sort' aht. næste kommando.

* 'uniq' finder dubletterne med -dD (alle dubletter printes) og '-w 32'
sørger for at der kun sammenlignes på de første 32 tegn, hvilket vil
sige selve checksummen.

Sådan cirka....

Btw. så sørger en | (pipe) for at output fra en kommando anvendes som
input til næste kommando.

--
Steen Suder
Prøv at forestille dig, at du er en anden, og læs så din artikel igennem
inden du sender den. Alle har interesse i, at du staver og formulerer
dig, så godt du kan. På den måde forstås det lettere, hvad du skriver.

Mikael Hansen (03-08-2004)
Kommentar
Fra : Mikael Hansen


Dato : 03-08-04 23:37

Steen Suder, privat wrote:

<snip>

>>> find hde5 hde9 Mikael -type f | xargs md5sum | sort | uniq -dD -w 32
>>>

hmm. det kan jeg ikke få til at virke

$ nohup find hde5 hde9 Mikael -type f | xargs md5sum | sort | uniq -dD
-w 32 > list.txt &
[1] 20933
$ xargs: uafbalanceret enkelt citationstegn

m.v.h. Mikael

<snip>


Henrik Christian Gro~ (04-08-2004)
Kommentar
Fra : Henrik Christian Gro~


Dato : 04-08-04 08:58

Mikael Hansen <mikael.hansen@DELETE.post.cybercity.dk> writes:

> $ nohup find hde5 hde9 Mikael -type f | xargs md5sum | sort | uniq -dD
> -w 32 > list.txt &
> [1] 20933
> $ xargs: uafbalanceret enkelt citationstegn

Det lyder som om du har filnavne der indeholder apostroffer. Hvis du
absolut vil forfølge denne idé så prøv at tilføje et -print0 til finds
argumenter og -0 til xargs'.

..Henrik

--
if the user is truly dumber than you are, he will defeat you by doing
something else so dumb that it never even occurred to you.
               -- Craig Dickson on debian.devel

Thomas S. Iversen (02-08-2004)
Kommentar
Fra : Thomas S. Iversen


Dato : 02-08-04 20:31

On 2004-08-02, Mikael Hansen <mikael.hansen@DELETE.post.cybercity.dk> wrote:
> Har opdaget at jeg formodentlig har en samling filer jeg nok har 2-3
> kopier af.
>
> Er der nogen der kender et script eller lignende, der kan gennemsøge en
> del af filsystemet, og lave en bit for bit sammenligning af filer med
> indentisk filnavn, og lave en tekstfil med path til de indentiske filer,
> så jeg lettere manuelt kan sortere ud i det?

#!/bin/sh
OUTF=rem-duplicates.sh; ESCSTR="s/([^a-zA-Z0-9\-\.\/_])/\\\\\1/g";
SUM="dummy"; echo "#! /bin/sh" > $OUTF; find -type f | sed -r "$ESCSTR" | while read x; do md5sum "$x
"; done | sort -k 1,32 | uniq -w 32 -d --all-repeated | while read y; do
NEW=echo "$y-dummy" | sed "s/ .*$//"; if [ $NEW != $SUM ]; then echo "" >>
$OUTF; fi; SUM="$NEW
"; echo "$y" | sed -r "s/^[0-9a-f]*(\\ )*//;$ESCSTR;s/(.+)/#rm \1/" >>
$OUTF; done; chmod a+x $OUTF; ls -l $OUTF

På en linie.

Thomas

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408935
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste