
Я перемещаю много каталогов в 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
.