递归扫描bash中的目录



我需要编写一个bash脚本,扫描当前目录中的目录,并为目录树中的每个文件生成md5校验和值。它还应该保持文件的相对路径,并在文件中打印校验和。

例如,如果目录树如下所示:

.
├── d
│   ├── file1.c
│   └── file2.c
├── e
│   └── file3.c
└── f
    └── file4.cpp

输出应该是这样的:

d8e8fca2dc0f896fd7cb4cb0031ba249  d/file1.c
d8e8fca2dc0f896fd7cb4cb0031ba249  d/file2.c
d8e8fca2dc0f896fd7cb4cb0031ba249  e/file3.c
d8e8fca2dc0f896fd7cb4cb0031ba249  f/file4.cpp

但我找不到一种方法来保持文件的路径时cd到他们。。。

find . -type f -exec md5sum {} ;

或者。。。

find . -type f | xargs -n 1 -d "n" md5sum

最新更新