1

Я пытаюсь заменить строку с переменной с помощью этой команды, но не работает

sed '/AXG/s/;/${HOMEx}/g'    

Пожалуйста, помогите мне с этим

1 ответ1

0

Избавьтесь от одинарных кавычек. Они предотвращают расширение переменных.

sed "/AXG/s/;/${HOMEx}/g"

Если HOMEx = "test", это становится: sed "/AXG/s/;/test/g"

Сравните https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.htm и https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html.

Однако будьте осторожны: если переменная HOMEx содержит что-то, что распознает sed, вы получите ошибку. В этом случае основными вещами будет обратная ссылка типа "\1" или косая черта "/".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .