Как использовать sed для рекурсивного изменения имен каталогов? - PullRequest
0 голосов
/ 27 сентября 2019

Мне нужно изменить имя группы каталогов. Правило состоит в том, чтобы изменять каждый каталог, содержащий hostnameABC для hostnameXYZ.

Таким образом, если его имя hostnameABC_servers или Profiles_hostnameABC, это должно быть затронуто и изменено дляимена hostnameXYZ_servers и Profiles_hostnameABC.Это должно быть сделано рекурсивно для каждого каталога, который соответствует этим критериям внутри /apps/XPTO/.

Я пытался использовать этот готовый код.Но не работает, и так как я не знаю много о оболочке, я не могу это исправить.

find /apps/XPTO/ -type d \
    | egrep -v "temp|bkp" \
    | egrep ".*hostnameABC[_a-Z0-9]*$" \
    | while read line; do
        mv "$line" `echo $line | sed "s/hostnameABC/hostnameXYZ/g"`
    done

Это просто ничего не меняет, вы можете помочь мне выяснить, что не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...