Задача: переименовать все файлы директории по такой вот маске
имя_староерасширение.dat
...использую два скрипта -- поиск и переименование:
---------------------------------------------------------------
find.sh
# !/bin/bash
#
find . -exec sh rename.sh {} \;
---------------------------------------------------------------
Файлы находит, передает управление rename.sh
---------------------------------------------------------------
#!/bin/bash
fullname=${1##*/}
name="${fullname%.*}"
extention=${name:+${fullname#$name.}}
if [ "$extention" -ne "${%.dat}" ]
then
mv "$fullname" "${name}_${extention:-.}.dat" # выполняем искомый запрос
else
fi
---------------------------------------------------------------
Отличает отрабатывает в том лишь случае, если расширение исключительное -- числовое. Если в расширении присутствуют _буквы_, то он оставляет файл нетронутым.
Не могу понять в чем проблема. Что не так делаю?