以bash递归扫描目录

时间:2012-03-08 06:00:41

标签: linux 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时我找不到保存文件路径的方法......

1 个答案:

答案 0 :(得分:6)

find . -type f -exec md5sum {} \;

...或

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