А тут вот товарищ один, скрипт предложил для укорочения имён файлов
#!/bin/bash
TARGET="$1"
if [ -z "$TARGET" ]; then
cat <<EOT
Использование: `basename $0` TARGET
Создание хардлинков на файлы в CWD.
Хардлинки обрезаются по маздайным правилам.
EOT
exit 70
fi
if [ ! -d "$TARGET" ]; then
mkdir --parents "$TARGET"
err=$?
if [ $err != 0 ]; then
exit $err
fi
fi
find . -type f |\
while read FILE; do
echo "$FILE"
DIRNAME=`dirname "$FILE"`
DIRNAME="${DIRNAME#./}"
if [ ! -d "$TARGET/$DIRNAME" ]; then
mkdir --verbose --parents "$TARGET/$DIRNAME"
err=$?
if [ $err != 0 ]; then
exit $err
fi
fi
BASENAME=`basename "$FILE"`
EXT="${BASENAME##*.}"
if [ "$EXT" = "$BASENAME" ]; then
EXT=""
else
EXT=".$EXT"
fi
NAME="${BASENAME%.*}"
if echo "$NAME" | grep -q ' '; then
NAME=`echo "$NAME" | sed 's/\s/_/g'`
fi
LEN_NAME=${#NAME}
if (( $LEN_NAME > 8 )); then
NAME1="${NAME::7}~"
N=0
while [ -f "$TARGET/$DIRNAME/$NAME1$EXT" ]; do
(( N = N + 1 ))
if [ $N = 10 ]; then
echo "невозможно создать ещё один файл"
exit 71
fi
NAME1="${NAME::6}~$N"
done
NAME="$NAME1"
fi
ln --verbose "$FILE" "$TARGET/$DIRNAME/$NAME$EXT"
err=$?
if [ $err != 0 ]; then
exit $err
fi
done
Подскажите как им пользоваться? Где хоть директоию указать, какие файлы укорачивать?
А то там, мне спрашивать не очень-то удобно.