我必須編寫一個命令,我們必須找到文件,計算一個md5代碼,然後將其放入文本文件中。找到這些文件並不難,只是將stdin作爲參數傳遞給sed
find -type f
現在我有一個文件列表,併爲每個文件我必須要找到MD5碼。我知道代碼生成MD5碼
openssl dgst -md5 <file>
但我怎麼使用管道(無腳本)有類似this`
filename md5code
我已經嘗試過
while read line do... done
但那沒用。我認爲我必須使用sed,但我現在不是真的如何。我最近嘗試(我認爲)是這樣的:
find dir -type f | sed "s/^\(.*\)$/\1 $(openssl dgst -md5 \1)/" >> file.txt
但它不承認\ 1 ...
我在找到這樣的-exec選項試了一下:
md5$ find dir -type f -exec sed "s/^\(.*\)$/\1 $(openssl dgst -md5 {})/" \;
但它不承認{}
謝謝!這工作,沒有想到-printf。 – micro