Как заменить рекурсивно имена каталогов и файлов в текущем каталоге.

for i in `find -name '*oldname*'`; do "mv $i ${i/oldname/newname/}"; done


Эта команда выполняет рекурсивное замещение имен файлов и каталогов, содержащих строку ‘oldname’, на ‘newname’. Она использует команду ‘find’ для поиска всех файлов и каталогов, содержащих ‘oldname’ в текущем каталоге и его подкаталогах. Затем она использовывает команду ‘mv’ для переименования найденных файлов и каталогов. Команда ‘mv’ получает аргументы в формате ${i/oldname/newname/}, где переменная ‘i’ содержит каждое найденное имя файла или каталога. Этот аргумент заменяет первое вхождение строки ‘oldname’ на ‘newname’ в каждом имени файла или каталога. После этого команда выполняет переименование всех найденных файлов и каталогов. Альтернативным способом замены имен файлов и каталогов может быть использование команды ‘rename’.

Ответить

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