我希望您能够编写一个Bash脚本,该脚本将循环遍历所有子目录,从给定路径开始,并创建包含当前目录中所有文件的MD5摘要列表。
我需要类似于"ls -R"的东西,但是我不确定如何开始。
我需要类似于"ls -R"的东西,但是我不确定如何开始。
还有一个叫做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
&& [ ! -L "$DIR/$x" ]
来修改它以不遵循符号链接,或仅列出目录:删除|| echo $SPACING $x
echo "$SPACING $x"
后的文件行上添加md5sum,例如&& md5sum "$DIR/$x"
...忘记提到它也需要一个完整路径参数。 - technosaurus
not -path "*/.*/*"
来排除以.
开头的目录,使用-not -name ".*"
来排除以.
开头的文件。 - jbrmd5 {} +
相当于md5 文件1 文件2 文件3 ...
而md5 {} ;
相当于md5 文件1; md5 文件2; md5 文件3; ...
。 - jbr