簡體   English   中英

如何用bash中的變量值替換帶占位符的文本?

[英]How to replace text with placeholders with values from variable in bash?

我有兩個變量。 一個是帶占位符的文本,例如&a&B 另一個包含應該插入文本中的變量。 &a表示這是第一個單詞, &b表示這是第二個單詞。 在文本中,它們可以是隨機順序。 分隔符是一個空格。 我怎么能在bash中這樣做?

例:

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

# Result should be "Once upon a time"

純粹的bash - 沒有外部命令:

VAR="time upon"
TEXT="Once &b a &a"
set -- $VAR
temp=${TEXT//&a/$1}
TEXT=${temp//&b/$2}
echo ==$TEXT==

您至少需要使用以下兩個命令:

  • cut(分割你的“VAR”變量)
  • sed(替換你的令牌)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM