Переименовать все файлы .htaccess

Переименовать все файлы .htaccess

Я перемещаю много каталогов в Nextcloud, который не позволяет загружать файлы .htaccess. Поэтому мне нужно переименовать их в "DOT.htaccess".

Есть ли элегантный и простой способ сделать это с помощью терминала (MacOSX)?

Заранее большое спасибо :)

решение1

Вот одно из findрешений, предложенное в комментарии:

find /path/to/directory -name ".htaccess" -type f -exec bash -c '
for file; do mv "$file" "${file/.htaccess/DOT.htaccess}"; done
' bash {} +

Первая и последняя строки принадлежат команде find, которая ищет обычные файлы ( -type f) с именем ".htaccess" в указанном каталоге и выполняет bashпроцесс с findрезультатом ( {} +) в качестве аргументов.

Часть в одинарных кавычках — это команды, выполняемые процессом bash. Сначала мы проходим по аргументам в цикле for-loop и назначаем каждый позиционный параметр переменной, fileкоторая затем перемещается в новое имя. Целевое имя файла создается с помощью расширения параметра bash: ${file/.htaccess/DOT.htaccess}заменяет строку .htaccessна DOT.htaccessв переменной file.

Связанный контент