Как заменить текст заполнителями на значения из переменной в bash? - PullRequest
1 голос
/ 16 мая 2011

У меня есть две переменные.Одним из них является текст с заполнителями, например &a или &B.Другой содержит переменные, которые должны быть вставлены в текст.&a говорит, что это первое слово, &b говорит, что это второе слово.В тексте они могут быть в случайном порядке.Разделитель - это пробел.Как я мог сделать это в Bash?

Пример:

TEXT="Once &B a &a"
VAR="time upon"

# Result should be "Once upon a time"

Ответы [ 2 ]

5 голосов
/ 16 мая 2011

Pure Bash - без внешних команд:

VAR="time upon"
TEXT="Once &b a &a"
set -- $VAR
temp=${TEXT//&a/$1}
TEXT=${temp//&b/$2}
echo ==$TEXT==
0 голосов
/ 16 мая 2011

Вам нужно использовать как минимум эти 2 команды:

  • вырезать (чтобы разделить переменную "VAR")
  • sed (для замены ваших токенов)
...