Saya menggunakan perintah
find . -type f -exec sha256sum {} \; > sha256SumOutput
untuk hash setiap file dalam hierarki folder. Sayangnya, sha256sum
tidak mendapatkan nama file dari find
abjad. Bagaimana ini bisa diperbaiki?
Saya ingin mereka memesan sebelum mereka hash sehingga mereka hash dalam urutan abjad (ini memiliki alasan).
sort
mengurutkan daftar, dan pipa ke sha256sumJawaban:
Menggunakan beberapa pipa dan
sort
Penjelasan
Dari
man find
Dari
man sort
Dari
man xargs
Contoh
Nilai dalam kolom pertama sama, karena file tidak memiliki konten apa pun dalam pengujian saya.
sumber
Anda harus dapat menyalurkan output Anda dari
find
kesort
.sumber
-exec
saklar.find
memiliki cara untuk mengabjadkan output, tetapi perpipaan kesort
dan kemudian menggunakanxargs
akan memberikan output yang diharapkan.find . -type f | sort | xargs sha256sum
. Meskipun itu akan memiliki masalah dengan subdirektori ..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.
.