LINUX.ORG.RU

работа с find


0

0

здравствуйте , ребята!

возникла такая задача. найти все файлы заканчивающиеся на *.ini и переименовать их в *.ini.bak

для этого я использовал find

find -name ./ "*.ini" -exec mv {} {}.bak \;

(надеюсь правиьлно написал? т.к. пишу по памяти)

вопрос вот в чем. какую опцию указать в -exec чтобы переименовывалиь к примеру file.ini.bak в file.ini ?

и file.ini.bak в file1.ini

Спасибо!

A prichem tut find?

anonymous
()
Ответ на: комментарий от unnamed

я просто в качестве примера написал что ищу в одно каталоге. это не так. ищу я начиная с опрделенной директории но файлы могут быть во множестве разных директорий.

tradakad
() автор топика
Ответ на: комментарий от anonymous

извините, но если не ошибаюсь basename возвращает только имя файла а путь к нему убирает. это не нужно.

tradakad
() автор топика
Ответ на: комментарий от tradakad

Не люблю башезависимые вещи, но ради простоты:
find /dir -name '*.bak' -printf "f=\"%p\"; mv \$f \${f%%*.bak}\n" | bash

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.