Назад | Перейти на главную страницу

инструмент командной строки для вывода списка всех файлов со свойствами и контрольной суммой

этот инструмент командной строки для MsWindows перечисляет все файлы со свойствами и контрольной суммой.

http://www.jam-software.de/filelist/

есть ли эквивалент для unix?

ps: Я знаю, что могу сделать простой скрипт для этого; однако этот вопрос касается поиска уже реализованного инструмента. опять же, пожалуйста, не говорите мне, как это реализовать самостоятельно. Я сделаю это, если такого инструмента еще нет.


Обновить

Я наконец согласен с комментарием lain и lVlint67 о том, что можно реализовать мой собственный скрипт (даже если есть некоторые угловые случаи с текущим скриптом):

dstat

#! /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
...

Если в вашей системе есть обычные инструменты GNU, я бы не стал устанавливать какое-то случайное стороннее программное обеспечение ... просто разверните следующее:

alias filelist='find ./ -type f -exec ls -la {} \; -exec md5sum {}  \;'
cd /tmp; filelist