Ich benutze den Befehl
find . -type f -exec sha256sum {} \; > sha256SumOutput
jede Datei in einer Ordnerhierarchie zu hashen. Erhält sha256sum
die Dateinamen leider nicht find
in alphabetischer Reihenfolge. Wie kann das behoben werden?
Ich möchte, dass sie bestellt werden, bevor sie gehasht werden, damit sie in alphabetischer Reihenfolge gehasht werden (dies hat einen Grund).
sort
um die Liste zu sortieren, und Pipe zu sha256sumAntworten:
Mit einigen Rohren und
sort
Erläuterung
Von
man find
Von
man sort
Von
man xargs
Beispiel
Die Werte in der ersten Spalte sind dieselben, da die Dateien in meinem Test keinen Inhalt haben.
quelle
Sie sollten in der Lage sein, Ihre Ausgabe von
find
zu leitensort
.quelle
-exec
Schalter.find
es eine Möglichkeit gibt, die Ausgabe zu alphabetisieren, aber das Weiterleiten ansort
und die anschließende Verwendungxargs
würde die erwartete Ausgabe ergeben.find . -type f | sort | xargs sha256sum
. Obwohl es Probleme mit Unterverzeichnissen geben würde ..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.
.