$ echo *
a b c
$ cat *
file 1
file 2
file 3
$ factor -e=" \
> USING: globs io sequences sorting io.files io.encodings.utf8 ; \
> \"*\" glob natural-sort [ utf8 file-lines ] map concat [ print ] each "
file 1
file 2
file 3
Les sorties sont les mêmes à l'aide du glob factor et du glob du shell. Un diff
sur les sorties montre qu'elles correspondent exactement.Obtenir la même somme SHA-224 dans Factor que coreutils sha224sum
$ factor -e=" \
> USING: math.parser checksums checksums.sha globs io sequences sorting io.files io.encodings.utf8 ; \
> \"*\" glob natural-sort [ utf8 file-lines ] map concat sha-224 checksum-lines bytes>hex-string print "
0feaf7d5c46b802404760778091ed1312ba82d4206b9f93c35570a1a
$ cat * | sha224sum
d1240479399e5a37f8e62e2935a7ac4b9352e41d6274067b27a36101
Mais les checksums ne correspondent pas, ni ne md5
checksum. Pourquoi est-ce? Comment obtenir la même somme de contrôle dans Factor que dans coreutils sha224sum
?
La modification du codage à ascii
ne modifie pas la sortie, pas plus que "\n" join sha-224 checksum-bytes
au lieu de checksum-lines
.
Vous ne manquez pas une "\ n" jointure de connexion? Je pense que le code factor est hashing le tableau du contenu du fichier 3 –
nevermind, checksum-lines se joint à ascii 10, donc ce n'est pas ça:/ –
Oh, c'est le retour chariot qui manque! Cela a été répondu dans la liste de diffusion, serait bien de donner une réponse ici aussi. –