server/gen_hash_link_files.sh

27 lines
462 B
Bash
Executable File

#!/bin/bash
FROM=`realpath $1`; shift
TO=`realpath $1`; shift
if [ -z "$FROM" ] || [ -z "$TO" ]
then
echo "Usage: $0 from to"
exit 1
elif ! [ -d "$FROM" ]
then
echo "$FROM not found"
exit 2
fi
mkdir -p "$TO" || exit 3
rm -rf "$TO" || exit 3
for i in `find "$FROM" -mindepth 1 -type f`
do
FILE=`echo $i | sed "s!^$FROM/!!"`
HASH=`echo -n $FILE | sha384sum | cut -d " " -f 1`
mkdir -p "$TO/$HASH/"
ln -s "$i" "$TO/$HASH/"
done