Если предположить, что
rename 's/[^A-Za-z0-9.-]/_/g' -- *.avi
будет правильно переименовывать все файлы с суффиксом имени файла .avi
в текущем каталоге, вы сможете применить это ко всем каталогам ниже текущего (, включая текущий )с
find. -type d -exec sh -c '
for dirpath do
( cd "$dirpath" && rename "s/[^A-Za-z0-9.-]/_/g" -- *.avi )
done' sh {} +
Для пакетов найденных каталогов будет выполнен короткий скрипт в строке -, который переходит в найденный каталог и выполняет команду rename
.
На момент написания :№
Это потребует запуска DHCP-сервера «где-то». Детали: