在同一行中打印md5输出

时间:2018-06-26 17:53:16

标签: bash terminal

我想用外部硬盘目录的每个文件的文件路径制作一个txt文件,包括其头和尾的md5总和以及所有内容,并在一行中用分号隔开。

例如:

harddisc1/folder1/folder2/folder3/file.bla ; haedf0849wrzh2ewn ; 9823ueqizhrwdiuqh
harddisc1/folder1/folder5/anotherfile.blu ; 208349eoirjds ; 98w4IUOEHRAJFD

以此类推。

我有一些适用于路径和头部的东西。但是我无法在同一行中打印尾巴。你能帮我吗?

我在macOS 10.13.5上使用MacBook Pro

代码:

find . -type f -exec bash -c "echo -n harddiscname; echo -n \"{};\"; head -c 10000 \"{}\" |
md5 echo "\;" tail -c 10000  \"{}\" |
md5" \; > /Users/Tobias/Desktop/discname.txt

1 个答案:

答案 0 :(得分:1)

我的系统有md5sum,其行为可能与md5略有不同。例如,它尝试在哈希值之后打印文件名。在下面的示例中,我的示例将打印hashhashhash... -。仅供参考

find . -type f -exec \
        bash -c 'h=`head -c 10000 "{}" | md5sum`;\
                 t=`tail -c 10000 "{}" | md5sum`;\
                 echo "{} ; $h ; $t"' \;