我有兩個變量。一種是帶有佔位符的文本,例如&a
或&B
。另一個包含應該插入到文本中的變量。 &a
表示這是第一個詞,&b
表示這是第二個詞。在文中他們可以隨機排列。分隔符是一個空格。我怎麼能在bash中做到這一點?如何使用bash中的變量值替換帶有佔位符的文本?
實施例:
TEXT="Once &B a &a"
VAR="time upon"
# Result should be "Once upon a time"
我有兩個變量。一種是帶有佔位符的文本,例如&a
或&B
。另一個包含應該插入到文本中的變量。 &a
表示這是第一個詞,&b
表示這是第二個詞。在文中他們可以隨機排列。分隔符是一個空格。我怎麼能在bash中做到這一點?如何使用bash中的變量值替換帶有佔位符的文本?
實施例:
TEXT="Once &B a &a"
VAR="time upon"
# Result should be "Once upon a time"
純粹的打擊 - 沒有外部命令:
VAR="time upon"
TEXT="Once &b a &a"
set -- $VAR
temp=${TEXT//&a/$1}
TEXT=${temp//&b/$2}
echo ==$TEXT==
需要使用至少下列2個命令:
這沒有幫助 - 應該如何使用這些命令?請添加一個例子和解釋。暫時下降。 – 2017-05-09 20:41:08
現在你有了好的關鍵字(sed和cut),你可以在谷歌中複製/粘貼它們,不是嗎?在你擁有它們之前,你不能,所以我認爲它有幫助。 SO不是做別人作業的地方。 – Tristan 2017-05-10 09:28:11
感謝這工作像一個魅力。對不起,我錯過了說可能有多達26個佔位符(a-z),有時並沒有像佔位符那樣多的變量。例如。 TEXT =「Once&b a&c there&a peace&d &e &f"; VAR =」準時「 – Neo 2011-05-17 11:03:39