Как использовать sed для удаления значения переменных из строки [дубликат]

Я пишу сценарий на bash и могу удалить строку из предложения, используя приведенный ниже код:

echo 'This is a foo test' | sed 's/\<foo\>//g'

ВЫВОД: 'Это тест'

Однако я хочу иметь возможность заменить foo на Переменная. Я попробовал команду ниже, но она не удаляет значения из предложения.

temp="foo"
echo 'This is a foo test' | sed 's/\<$temp\>//g'

ВЫВОД: 'Это тест foo'

0
задан 20 August 2020 в 10:30

1 ответ

В одинарных кавычках переменная не подставляется (поскольку $ не имеет особого значения в одинарных кавычках). Вместо этого вы можете использовать двойные кавычки:

echo 'This is a foo test' | sed "s/\<$temp\>//g"
1
ответ дан 21 August 2020 в 07:54

Другие вопросы по тегам:

Похожие вопросы: