【发布时间】:2016-04-09 01:17:52
【问题描述】:
如果我们必须查找文件,计算 md5 代码,然后将其放入文本文件,我必须编写一个命令。查找文件并不难,只是
find -type f
现在我有一个文件列表,我必须为每个文件找到 md5 代码。我知道生成 md5 代码的代码
openssl dgst -md5 <file>
但是我如何使用管道(无脚本)来拥有这样的东西`
filename md5code
我已经试过了
while read line do... done
但这没有用。我认为我必须使用 sed,但我现在不知道如何使用。我最近的尝试(我认为)是这样的:
find dir -type f | sed "s/^\(.*\)$/\1 $( openssl dgst -md5 \1 )/" >> file.txt
但它不识别 \1...
我尝试使用 find 中的 -exec 选项,如下所示:
md5$ find dir -type f -exec sed "s/^\(.*\)$/\1 $( openssl dgst -md5 {} )/" \;
但它无法识别 {}
【问题讨论】:
标签: shell unix sed command stdin