Доброго времени суток. Скрипт должен рекурсивно просматривать папки и менять расширение на первую букву у файлов, размер которых меньше заданного во втором аргументе. Первый аргумент - директория. Еще скрипт не должен менять сам себя. Что у меня неправильно?
#!/bin/bash
if [[ "$1" == "?" ]]
then
echo "скрипт меняет расширение на первую букву у тех файлов,\n размер которых меньше заданного во втором аргументе. "
exit 1
fi
case $# in
2) dirname=$1
fsize=$2 ;;
0) read -p "Введите адрес директории >>> " dirname
read -p "Введите размер файлов для замены суфикса >>> " fsize ;;
*) echo "Использование: скрипт директория размер"
exit 1 ;;
esac
if [[ -d "$dirname" ]]
then
find "$dirname" -type f -size -$fsize not -samefile BASH_SOURCE | while IFS='\n' read file
do
dir_name=$(dirname $file)
file_name=$(basename $file)
prefix=$(expr substr $file_name 1 1)
suffix=${file_name##*.}
newfilename=$dirname/${file_name%%$suffix}$prefix
done
else
echo "Неправильное имя/адрес директории"
exit 1
fi