-
Tribolazioni con diffScritto daNon Autenticatoil 2013-03-26 16:21:00.0 alle 2013-03-26 16:21:00.0Ho copiato una cartella A nel NAS con
robocopy "D:\...\A" "Z:\A" /E /DCOPY:T /LOG+:rclog.txt /NP /FP /UNICODE
La cartella è molto grande e pullula di file e directory innestate, e Proprietà di Windows dà dimensioni in byte differenti per la cartella originale e quella copiata - indichiamole con A1 e A2 per distinguerle, anche se si chiamano entrambe A.
Secondo Proprietà la copia ha più file e dimensioni maggiori, il che è perlomeno singolare. A meno che robocopy non abbia cancellato dei file nella cartella originale (ma perché? mica sta sincronizzando cartelle) può darsi che la presenza di file dai nomi lunghi confonda Proprietà portandolo a risultati erronei.
Su suggerimento della suora faccio un elenco degli md5 dei file contenuti in entrambe le cartelle,
find A -type f -exec md5sum {} \; > md5.A1.txt
find A -type f -exec md5sum {} \; > md5.A2.txt
ottenendo due file
md5.A1.txt per la cartella originale,
md5.A2.txt per la copia,
aventi le stesse dimensioni ma md5 diversi.
diff md5.A1.txt md5.A2.txt > diff.txt
produce un elenco diff.txt pieno di righe. Ad esempio
< f232173ba5514056ee2270482dea6637 *A/Bibliotheca/Una brevissima introduzione alla filosofia - Nagel.pdf
indicherebbe che nel file md5.A1.txt relativo alla cartella originale c'è questa riga che non c'è nel md5.A2.txt della copia.
Quindi l'md5 del PDF copiato dovrebbe essere diverso, e ci sarebbe da attendersi una relativa riga in diff.txt che però non cerco(*).
Ma se faccio l'md5 del PDF, originale e copia, in entrambe le cartelle dà lo stesso risultato
f232173ba5514056ee2270482dea6637 *Una brevissima introduzione alla filosofia - Nagel.pdf
quindi direi che qualcosa è andato storto nella compilazione degli elenchi degli md5 (che impiega circa un'ora per la cartella originale e due per la copia sul NAS)

È possibile che righe omologhe nei due elenchi di md5 stiano in punti diversi dei file e diff rilevi una differenza per questo?
La mia sensazione è che le cartelle siano uguali - non ha senso supporre che robocopy abbia fatto così tanti errori - ma gli strumenti deputati a verificarlo falliscano.

(*) I file md5.A1.txt, md5.A2.txt e diff.txt sono troppo grandi per poter essere aperti e controllati manualmente. Ma anche se installassi un editor di testo avanzato in grado di farlo, farlo richiederebbe un'enormità di tempo quantificabile in multipli del teraeone, quindi non ci provo nemmeno.-
Re: Tribolazioni con diffScritto daNon Autenticatoil 2013-03-26 16:57:26.0 alle 2013-03-26 16:57:26.0> È possibile che righe omologhe nei due elenchi di md5 stiano in punti diversi dei file e diff rilevi una differenza per questo?
Sì, è possibile.
Prova ad ordinare i due file con 'sort -k2 md5.A1.txt > sorted-md5.A1.txt' (idem per l'altro file), e poi riesegui il diff.-
Re: Tribolazioni con diffScritto daNon Autenticatoil 2013-03-26 17:41:26.0 alle 2013-03-26 17:41:26.0> > È possibile che righe omologhe nei due elenchi di md5 stiano in punti diversi dei file e diff rilevi una differenza per questo?
>
> Sì, è possibile.
> Prova ad ordinare i due file con 'sort -k2 md5.A1.txt > sorted-md5.A1.txt' (idem per l'altro file), e poi riesegui il diff.
Che significa l'opzione -k2 ?-
Re: Tribolazioni con diffScritto daNon Autenticatoil 2013-03-26 17:44:44.0 alle 2013-03-26 17:44:44.0> > > È possibile che righe omologhe nei due elenchi di md5 stiano in punti diversi dei file e diff rilevi una differenza per questo?
> >
> > Sì, è possibile.
> > Prova ad ordinare i due file con 'sort -k2 md5.A1.txt > sorted-md5.A1.txt' (idem per l'altro file), e poi riesegui il diff.
>
> Che significa l'opzione -k2 ?
-k, --key=KEYDEF
sort via a key; KEYDEF gives location and type
KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key.
-
Re: Tribolazioni con diffScritto daNon Autenticatoil 2013-03-26 17:50:19.0 alle 2013-03-26 17:50:19.0Scritto da:
> > > > È possibile che righe omologhe nei due elenchi di md5 stiano in punti diversi dei file e diff rilevi una differenza per questo?
> > >
> > > Sì, è possibile.
> > > Prova ad ordinare i due file con 'sort -k2 md5.A1.txt > sorted-md5.A1.txt' (idem per l'altro file), e poi riesegui il diff.
> >
> > Che significa l'opzione -k2 ?
>
> -k, --key=KEYDEF
> sort via a key; KEYDEF gives location and type
>
> KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key.
>
>
In realtà non è difficile, l'opzione -k serve per selezionare il campo (ossia una sequenza massimale di caratteri non separatori) sul quale effettuare il sort.-
Re: Tribolazioni con diffScritto daNon Autenticatoil 2013-03-26 17:52:32.0 alle 2013-03-26 17:52:32.0Scritto da:
> Scritto da:
> > > > > È possibile che righe omologhe nei due elenchi di md5 stiano in punti diversi dei file e diff rilevi una differenza per questo?
> > > >
> > > > Sì, è possibile.
> > > > Prova ad ordinare i due file con 'sort -k2 md5.A1.txt > sorted-md5.A1.txt' (idem per l'altro file), e poi riesegui il diff.
> > >
> > > Che significa l'opzione -k2 ?
> >
> > -k, --key=KEYDEF
> > sort via a key; KEYDEF gives location and type
> >
> > KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key.
> >
> >
>
> In realtà non è difficile, l'opzione -k serve per selezionare il campo (ossia una sequenza massimale di caratteri non separatori) sul quale effettuare il sort.
Nel caso specifico, visto che non è stata specificata l'opzione -t, come caratteri separatori vengono usati gli spazi.-
Re: Tribolazioni con diffScritto daNon Autenticatoil 2013-03-26 17:56:16.0 alle 2013-03-26 17:56:16.0> > > > > > È possibile che righe omologhe nei due elenchi di md5 stiano in punti diversi dei file e diff rilevi una differenza per questo?
> > > > >
> > > > > Sì, è possibile.
> > > > > Prova ad ordinare i due file con 'sort -k2 md5.A1.txt > sorted-md5.A1.txt' (idem per l'altro file), e poi riesegui il diff.
> > > >
> > > > Che significa l'opzione -k2 ?
> > >
> > > -k, --key=KEYDEF
> > > sort via a key; KEYDEF gives location and type
> > >
> > > KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key.
> > >
> > >
> >
> > In realtà non è difficile, l'opzione -k serve per selezionare il campo (ossia una sequenza massimale di caratteri non separatori) sul quale effettuare il sort.
>
> Nel caso specifico, visto che non è stata specificata l'opzione -t, come caratteri separatori vengono usati gli spazi.
Non c'è una faccina col mal di testa?
Comunque i file sortati hanno lo stesso md5 e il diff produce un output vuoto.-
Re: Tribolazioni con diffScritto daNon Autenticatoil 2013-03-26 18:03:41.0 alle 2013-03-26 18:03:41.0Scritto da:
> > > > > > > È possibile che righe omologhe nei due elenchi di md5 stiano in punti diversi dei file e diff rilevi una differenza per questo?
> > > > > >
> > > > > > Sì, è possibile.
> > > > > > Prova ad ordinare i due file con 'sort -k2 md5.A1.txt > sorted-md5.A1.txt' (idem per l'altro file), e poi riesegui il diff.
> > > > >
> > > > > Che significa l'opzione -k2 ?
> > > >
> > > > -k, --key=KEYDEF
> > > > sort via a key; KEYDEF gives location and type
> > > >
> > > > KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key.
> > > >
> > > >
> > >
> > > In realtà non è difficile, l'opzione -k serve per selezionare il campo (ossia una sequenza massimale di caratteri non separatori) sul quale effettuare il sort.
> >
> > Nel caso specifico, visto che non è stata specificata l'opzione -t, come caratteri separatori vengono usati gli spazi.
>
> Non c'è una faccina col mal di testa?
In effetti le manpages a volte sono abbastanza criptiche.
> Comunque i file sortati hanno lo stesso md5 e il diff produce un output vuoto.
-
-
-
-
-
-
-