Как переименовать все файлы с символом ? в имени

find . -type f -name "*\?*" | while read f;do mv "$f" "${f//[^0-9A-Za-z.\/\(\)\ ]/_}";done


Эта команда находит все файлы в текущем каталоге и его подкаталогах, у которых в имени содержится символ «?». Затем она использует цикл, чтобы переименовать каждый файл, заменяя все символы, кроме цифр, букв, точки, слэша, скобок и пробелов на символ подчеркивания «_».

Альтернативным подходом может быть использование утилиты «rename» или написание сценария на языке программирования, который переименует файлы согласно заданным правилам.

Аргументы, передаваемые команде, необходимы для поиска файлов с символом «?» в имени и для выполнения замены символов в их именах.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *