Я использую команду
find . -type f -exec sha256sum {} \; > sha256SumOutput
хэшировать каждый файл в иерархии папок. К сожалению, sha256sum
не получает имена файлов find
в алфавитном порядке. Как это можно исправить?
Я бы хотел, чтобы они были заказаны до того, как они будут хэшированы, чтобы они хэшировались в алфавитном порядке (на это есть причина).
sort
сортировки списка и канал для sha256sumОтветы:
Используя некоторые трубы и
sort
объяснение
От
man find
От
man sort
От
man xargs
пример
Значения в первом столбце совпадают, так как файлы не содержат никакого содержимого в моем тесте.
источник
Вы должны быть в состоянии просто передать свой вывод из
find
вsort
.источник
-exec
переключателя.find
есть какой-либо способ алфавитного вывода, но передачаsort
и последующее использованиеxargs
даст ожидаемый результат.find . -type f | sort | xargs sha256sum
, Хотя у него были бы проблемы с подкаталогами ..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.
.