Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Rommel
    Registrato dal
    Jun 2004
    Messaggi
    955

    [bash scripting] confontare hash md5 di due insiemi di file

    ciao a tutti,
    ho due insiemi di file: uno su un cd, l'altro su una cartella dell'hard disk. vorrei controllare la corrispondenza dei rispettivi hash md5. ho pensato ad una cosa simile:
    codice:
    #!/bin/bash
    #
    for FILE in './*'; do
    md5sum $FILE >> md5list | qualcosa che mi sostituisca gli spazi del nome del file con un _
    done
    sapete come fare? grazie
    In a world without walls and fences, who needs windows and gates?

  2. #2
    Per sostiture caratteri si possono usare "sed" o "tr"

    sed s/ /_/
    tr ' ' '_'

    Anche se non capisco bene come possa funzionare lo script che hai fatto.

  3. #3
    Utente di HTML.it L'avatar di Rommel
    Registrato dal
    Jun 2004
    Messaggi
    955
    codice:
    #!/bin/bash
    #
    for FILE in './*'; do
    md5sum $FILE | tr ' ' '_' | tr '__' '  ' >> md5list
    done
    
    exit 0
    sarebbe l'apoteosi della cattiva programmazione, ma almeno funziona mediocremente
    In a world without walls and fences, who needs windows and gates?

  4. #4
    Utente di HTML.it L'avatar di Rommel
    Registrato dal
    Jun 2004
    Messaggi
    955
    ultimo problema:
    codice:
    f17906e83387c12b1281946fa44efb5e__./101_Imagine_Objects_Volume_1_(19xx)(Public_Domain_Plus)(PD)(Disk_1_of_8).zip
    201533229875c8859eb0ca1d8bd0b634__./101_Imagine_Objects_Volume_1_(19xx)(Public_Domain_Plus)(PD)(Disk_2_of_8).zip
    3eb21206727b69822b4e93d27eddcce1__./101_Imagine_Objects_Volume_1_(19xx)(Public_Domain_Plus)(PD)(Disk_3_of_8).zip
    4b38e1f7b385674e68db3704bf816ad2__./101_Imagine_Objects_Volume_1_(19xx)(Public_Domain_Plus)(PD)(Disk_5_of_8).zip
    2de3fe6e17d5eebf7ce81f8a12cfd53c__./101_Imagine_Objects_Volume_1_(19xx)(Public_Domain_Plus)(PD)(Disk_6_of_8).zip
    2648d20f813489ddc9517c45b54be8d0__./101_Imagine_Objects_Volume_1_(19xx)(Public_Domain_Plus)(PD)(Disk_7_of_8).zip
    27a9e0ba527d8783f4cb6061e712268c__./101_Imagine_Objects_Volume_1_(19xx)(Public_Domain_Plus)(PD)(Disk_8_of_8).zip
    qualcuno sa come sostituire '__' con ' ' ?
    tr '__.' ' .' non funziona bene
    In a world without walls and fences, who needs windows and gates?

  5. #5
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    Rommel, non mi è ben chiaro il perchè di questo script.
    Come mai, ti interessa cosi' tanto creare il file delle somme md5 sostituendo gli spazi? Hai incontrato problemi con questi?

    Grazie. ciao
    slack? smack!

  6. #6
    Utente di HTML.it L'avatar di Rommel
    Registrato dal
    Jun 2004
    Messaggi
    955
    praticamente avevo una cartella con dei file con spazi ed ho masterizzato i file su cd, attivando l'opzione di k3b per sostituire gli spazi con un underscore.
    quando k3b doveva controllare la correttezza dei file, dette un errore.

    dato che ho perso molto tempo ad ottenere quei file, ho pensato di verificare gli hash con uno script.

    la versione completa e funzionante è:
    codice:
    #!/bin/bash
    #
    for FILE in './*'; do
    md5sum $FILE | tr ' ' '_' | sed -e "s/__./  ./" >> md5list
    done
    
    exit 0
    poi ho controllato gli hash con:
    codice:
    md5sum -c /path/of/md5list
    anche se confusionario, lo script ha eseguito il suo compito
    In a world without walls and fences, who needs windows and gates?

  7. #7
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    Ho capito. Sul fatto che funzionasse, non avevo dubbi.

    Una piccola nota: potresti 'rivedere' il tuo script utilizzando al meglio il comando 'tr' in modo da condensare le sostituzioni per sequenze contigue dello stesso carattere.
    codice:
    cacao74@server:~$ echo "cacao     cacao" | tr " " "_"
    cacao_____cacao
    cacao74@server:~$ echo "cacao     cacao" | tr -s " " "_"
    cacao_cacao
    ciao
    slack? smack!

  8. #8
    Utente di HTML.it L'avatar di Rommel
    Registrato dal
    Jun 2004
    Messaggi
    955
    grazie ancora
    In a world without walls and fences, who needs windows and gates?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.