J'utilise la commande
find . -type f -exec sha256sum {} \; > sha256SumOutput
pour hacher chaque fichier dans une hiérarchie de dossiers. Malheureusement, sha256sum
les noms de fichiers ne sont pas obtenus find
par ordre alphabétique. Comment résoudre ce problème?
Je voudrais les commander avant de les hacher afin qu'ils soient hachés par ordre alphabétique (cela a une raison).
sort
pour trier la liste et diriger vers sha256sumRéponses:
En utilisant des tuyaux et
sort
Explication
De
man find
De
man sort
De
man xargs
Exemple
Les valeurs de la première colonne sont les mêmes, car les fichiers n'ont aucun contenu dans mon test.
la source
Vous devriez pouvoir simplement diriger votre sortie de
find
verssort
.la source
-exec
interrupteur.find
ait un moyen d'alphabétiser la sortie, mais la tuyauteriesort
puis l'utilisationxargs
donneraient la sortie attendue.find . -type f | sort | xargs sha256sum
. Bien qu'il y ait des problèmes avec les sous-répertoires ..find . -type f | awk -F/ '{print $NF, $0}' | sort | awk '{print $2}' | xargs sha256sum
xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option sha256sum: invalid option -- 'l' Try 'sha256sum --help' for more information.
.