#shell #unix
#оболочка #unix
Вопрос:
Пожалуйста, помогите мне заменить sting новым обновленным stinging в нескольких файлах.
Ввод:
DNEXUS_USERNAME="$(NEXUS_USER_NAME)" -DNEXUS_PASSWORD="$(NEXUS_PASSWORD)"
Новая строка:
DNEXUS_USERNAME_NEW='$(NEW_NEXUS_TKN_NAME)' -DNEXUS_PASSWORD_NEW='$(NEW_NEXUS_TKN)
Проблема: когда я пытаюсь заменить sting командой sed, он рассматривается как специальный символ, т.е. ($) . пожалуйста, предложите мне правильный способ выполнить эту задачу
Комментарии:
1. Это bash или powershell?
2. это скрипт bash
Ответ №1:
Похоже, нет необходимости ссылаться на $ в файле вообще:
sed -i 's/NEXUS_USER_NAME/NEW_NEXUS_TKN_NAME/g;s/NEXUS_PASSWORD/NEW_NEXUS_TKN/g' file
Комментарии:
1. Но на следующем этапе в том же файле есть еще одно жало, имеющее ту же переменную с другим значением. Так что это не сработает, если я заменю переменную. Мне потребуется заменить только полную строку
2. Можете ли вы добавить это к вопросу?