Mostra notizie nelle discussioni
  • Avatar
    Scritto da
    Non Autenticato
    il 2013-03-26 16:21:00.0 alle 2013-03-26 16:21:00.0
    Tribolazioni con diff
    Ho 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) Perplesso Triste

    È 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. In lacrime

    Piagnina

    (*) 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.
    • Avatar
      Scritto da
      Non Autenticato
      il 2013-03-26 16:57:26.0 alle 2013-03-26 16:57:26.0
      Re: Tribolazioni con diff
      > È 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.
      • Avatar
        Scritto da
        Non Autenticato
        il 2013-03-26 17:41:26.0 alle 2013-03-26 17:41:26.0
        Re: Tribolazioni con diff
        > > È 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 ?
        • Avatar
          Scritto da
          Non Autenticato
          il 2013-03-26 17:44:44.0 alle 2013-03-26 17:44:44.0
          Re: Tribolazioni con diff
          > > > È 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.


          Perplesso
          • Avatar
            Scritto da
            Non Autenticato
            il 2013-03-26 17:50:19.0 alle 2013-03-26 17:50:19.0
            Re: Tribolazioni con diff
            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.

            >
            > Perplesso

            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.
            • Avatar
              Scritto da
              Non Autenticato
              il 2013-03-26 17:52:32.0 alle 2013-03-26 17:52:32.0
              Re: Tribolazioni con diff
              Scritto 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.

              > >
              > > Perplesso
              >
              > 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.
              • Avatar
                Scritto da
                Non Autenticato
                il 2013-03-26 17:56:16.0 alle 2013-03-26 17:56:16.0
                Re: Tribolazioni con diff
                > > > > > > È 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.

                > > >
                > > > Perplesso
                > >
                > > 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? A bocca aperta

                Comunque i file sortati hanno lo stesso md5 e il diff produce un output vuoto.
                • Avatar
                  Scritto da
                  Non Autenticato
                  il 2013-03-26 18:03:41.0 alle 2013-03-26 18:03:41.0
                  Re: Tribolazioni con diff
                  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.

                  > > > >
                  > > > > Perplesso
                  > > >
                  > > > 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? A bocca aperta

                  In effetti le manpages a volte sono abbastanza criptiche. A bocca aperta

                  > Comunque i file sortati hanno lo stesso md5 e il diff produce un output vuoto.
<softv>

Pagina generata in 23 millisecondi

Utenti attivi: 10 nell'ultimo minuto, 38 negli ultimi cinque minuti, 91 negli ultimi 15 minuti