Попробуйте это:
find /var/www -name ".hg_gg" -execdir bash -c 'mv {} .hg' \;
Вам нужно использовать специальный синтаксис, определенный находкой: {}
является заполнителем для текущего имени файла. Проверьте это на man page. Также важно вместо -exec
. execdir
изменяет текущий рабочий каталог на папку, в которой находится найденная директория. В противном случае это будет делать что-то вроде этого mv /var/www/.hg_gg ./.hg
Вы можете ускорить вещи немного, когда ограничение поиска, чтобы найти папки только с помощью -type d
:
find /var/www -type d -name ".hg_gg" -execdir bash -c 'mv {} .hg' \;
Можете ли вы привести несколько примеров этих папок? – anubhava
Я хочу переименовать /var/www/test/.hg_gg/ в /var/www/test/.hg/ – freento