Если у вас есть утилита perl rename
, вы можете использовать:
find . -type f -not -name 'dbg.txt' -print0 |
xargs -0 -I {} rename -n 's~^(.+/)(.+)~$1old_$2~' '{}'
{обратите внимание, что -n
для пробного запуска.После проверки вывода этой команды удалите опцию -n
, чтобы переименовать все файлы.
Если у вас нет утилиты rename
, используйте:
find . -type f -not -name 'dbg.txt' -print0 |
xargs -0 -p -I {} bash -c 'mv "$1" "${1%/*}/old_${1##*/}"' - '{}'