MsWindows 的这个命令行工具列出了所有文件,包括属性和校验和。
http://www.jam-software.de/filelist/
有没有与 unix 相当的?
附言:我知道我可以写一个简单的脚本来实现这一点;但是这个问题是关于找到一个已经实现的工具。再说一次,请不要告诉我如何自己实现这一点。如果这样的工具尚不存在,我会这样做。
更新
我最终同意 lain 和 lVlint67 的评论,可以实现我自己的脚本(即使当前脚本存在一些特殊情况):
统计信息
#! /bin/bash
if [ -z "$1" ] ; then
echo "dstat <file>"
exit 1
fi
HASH=" "
if [ -f "$1" ] ; then
HASH=`md5 -q "$1"`
fi
FILENAME=$(basename "$1")
EXT="${FILENAME##*.}"
FILENAME_ESCAPED=$(echo $FILENAME | sed -e "s/%/%%/g")
EXT_ESCAPED=$(echo $EXT | sed -e "s/%/%%/g")
stat -t "%F %T" -f "%HT%t%Sp%t%Su%t%Sg%t%Sm%t%SB%t%14z%t$HASH%t$FILENAME_ESCAPED%t%SY%t$EXT_ESCAPED%t%N" "$1"
使用方法如下:
$ find . -exec dstat {} \;
我得到的结果如下:
Regular File -rw-r--r-- david staff 2013-11-09 01:33:24 2013-11-09 01:33:24 14787 c3a7afd9e3cf89543352ee58e26cfb10 Invoice_41010102336895558_6601081486112013.pdf pdf ./accounting/files/Invoice_41010102336895557_6601081486112013.pdf
Regular File -rw-r--r-- david staff 2013-09-01 00:41:05 2013-09-01 00:41:05 13636 55b47d2a41d5d6a072439ef2dabacac4 Invoice_41010102336895558_6601108809092013.pdf pdf ./accounting/files/Invoice_41010102336895557_6601108809092013.pdf
...
答案1
如果您的系统具有常规的 GNU 工具,我就不会费心安装一些随机的第三方软件……只需部署以下内容:
alias filelist='find ./ -type f -exec ls -la {} \; -exec md5sum {} \;'
cd /tmp; filelist