Eu uso o comando
find . -type f -exec sha256sum {} \; > sha256SumOutput
para hash todos os arquivos em uma hierarquia de pastas. Infelizmente, sha256sum
não obtém os nomes dos arquivos find
em ordem alfabética. Como isso pode ser consertado?
Eu gostaria que eles fossem encomendados antes de serem hash, para que sejam hash em ordem alfabética (isso tem um motivo).
sort
ordenar a lista, e tubo para sha256sumRespostas:
Usando alguns tubos e
sort
Explicação
A partir de
man find
A partir de
man sort
A partir de
man xargs
Exemplo
Os valores na primeira coluna são os mesmos, pois os arquivos não têm nenhum conteúdo no meu teste.
fonte
Você deve conseguir canalizar sua saída de
find
parasort
.fonte
-exec
interruptor.find
tenha alguma maneira de alfabetizar a saída, mas canalizarsort
e usá-laxargs
daria a saída esperada.find . -type f | sort | xargs sha256sum
. Embora teria problemas com subdiretórios ..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.
.