Заменить определенные значения на sed

При вставке следующих двух команд в оболочку:

read VAR
echo $VAR

... первый сообщает оболочке прочитать строку текста в переменную с именем VAR. Вы указываете это значение в следующей строке; это просто команда, которая, как вы думали, будет выполнена.

Напечатайте значение переменной VAR, и вы увидите:

$ printf '%s\n' "$VAR"
echo $VAR

То же самое происходит с меню select.

Я бы посоветовал, если ваша документация/команды предполагают, что пользователь введет значение, вы вставите соответствующий комментарий:

read VAR

(Пользователь вводит значение)

echo $VAR
1
08.08.2020, 23:22
2 ответа

попробуй:

sed "s/\$t\>/foo/g" /tmp/file

\>— это соответствие шаблону регулярного выражения для конца слова.

3
18.03.2021, 23:14

Попытка выполнить следующие команды sed и awk

 awk '{for(i=1;i<=NF;i++){if($i =="$t"){gsub(/\$t/,"foo",$i)}}}1'  filename

команда sed

sed "s/\$t /foo /g" filename

выход

$one foo $three
$one foo $three foo $thre

и

0
18.03.2021, 23:14

Теги

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