Задача: переименовать все файлы директории по такой вот маске
имя_староерасширение.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
---------------------------------------------------------------
Отличает отрабатывает в том лишь случае, если расширение исключительное -- числовое. Если в расширении присутствуют _буквы_, то он оставляет файл нетронутым.
Не могу понять в чем проблема. Что не так делаю?
Ответ на:
комментарий
от gaa
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [uzbl-tabbed] Открытие ссылки в новой вкладке (2011)
- Форум Вывод частей имени файла (2014)
- Форум Создание скрипта создающий архив (2018)
- Форум Удалить файлы с определённым расширением. Как? (2017)
- Форум Передать параметр bash в ssh (2023)
- Форум Не завершаются некоторые процессы (2013)
- Форум Bash архивация (2017)
- Форум Ошибка при выполнении скрипта - eval: Syntax error: Unterminated quoted string (2017)
- Форум Как сделать выполнение inotify-tools с задержкой? (2020)
- Форум Собрать файлы в одну директорию из # директории с поддериекториями (2016)