Используйте ответ на приглашение для замены местозаполнителей в другом файле - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть файл с именем file.txt, заполненный многими словами "заполнитель"

Я хочу использовать ответ на следующий вопрос, чтобы определить, какой "заполнитель" заменить на:

#!/bin/bash
while [ "$response" != "n" ]
do
read -p "What is the answer? " $answer
sed -i 's/placeholder/$answer/g' file.txt
  exit
done

Однако это не работает, так как использование 'с sed больше не ссылается на ответ выше.

Любая помощь будет принята с благодарностью.

РЕДАКТИРОВАТЬ: Спасибо @ RavinderSingh13 ниже, за вашу помощь.Я также удалил $ перед ответом, но оставил его в команде sed, и все получилось.Финальный сценарий:

#!/bin/bash
while [ "$response" != "n" ]
do
read -p "What is the answer? " answer
sed -i "s/placeholder/$answer/g" file.txt
  exit
done

1 Ответ

0 голосов
/ 11 декабря 2018

Не могли бы вы попробовать изменить sed -i 's/placeholder/$answer/g' file.txt на:

sed -i "s/placeholder/$answer/g" file.txt

Поскольку " дает возможность расширить значение переменной, где ' принимает $ в качестве литерального символа, также не удалось выполнить тесткод, поскольку образцы не были показаны.

Также попробуйте изменить $always в команде read на always.

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