• # Il faut plusieurs lignes

    Posté par . En réponse au message tar et md5. Évalué à 2.

    Si ton archive n'est pas grosse, cette solution suffit probablement:
    (
    MD5_PRECALCULE=$(tar --extract --to-stdout --file archive.tar rep/toto.md5 | cut --delimiter=' ' --fields=1)
    MD5_ACTUEL=$(tar --extract --to-stdout --file archive.tar rep/toto.txt | md5sum | cut --delimiter=' ' --fields=1)
    if [[ "$MD5_PRECALCULE" == "$MD5_ACTUEL" ]];
    then echo ouiiii
    else
    echo nooooon
    fi
    )

    Inconvénient: l'archive est lue deux fois. Donc si elle est grosse et que tes fichiers sont situés à la fin, c'est un problème.

    Si tu veux optimiser, tu peux utiliser quelque chose du genre:
    tar --extract --to-stdout --verbose --file archive.tar 'rep/toto.txt' 'rep/toto.md5'

    Il faut alors envoyer la sortie vers tee afin afin de lire le contenu de chaque fichier et de le traiter correctement avec sed ou awk.