命令行工具列出所有文件,包括属性和校验和

命令行工具列出所有文件,包括属性和校验和

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

相关内容