我尝试在bash中编写脚本,它将遍历所有子目录,从给定路径主演,并将创建当前目录中所有文件的md5总和列表。
我需要像ls -R
这样的东西,但我不知道如何开始
答案 0 :(得分:6)
答案 1 :(得分:1)
还有一个名为tree的程序,但你可以只使用shell内置函数来模拟它:
#!/bin/sh
DIR=${1:-`pwd`}
SPACING=${2:-|}
cd $DIR
for x in * ; do
[ -d "$DIR/$x" ] && echo "$SPACING\`-{$x" && $0 "$DIR/$x" "$SPACING " || \
echo "$SPACING $x : MD5=" && md5sum "$DIR/$x"
done
注意它需要一个完整路径参数(或当前目录没有)
它没有find那么快(尽管有很多方法可以加快速度,使代码更加复杂),但是给出了树形结构的图形表示。
您可以通过添加 - && [ ! -L "$DIR/$x" ]
或仅列出目录来修改它以不遵循符号链接:删除|| echo $SPACING $x