Если у вас есть разрешение на запись в каждый каталог, это должно работать практически на любой системе, кроме windows.
cd webdirectory
find . -name .htaccess.bak | ( while read filename; do
d=`dirname "$filename"`
mv "$filename" "$d/.htaccess"
chmod 600 "$d/.htaccess" # if the perms aren't quite right on .htaccess.bak
done
)
Однако может произойти сбой, если любой найденный компонент пути содержит "
символ. Если это так, то вы можете использовать опцию find "cd to the directory" и затем сделать что-то вроде этого:
find . -name .htaccess.bak -execdir mv {} .htaccess \;
На linux и macOS, команда find
имеет -execdir
опция в дополнение к опции -exec
.