我有两个变量。一种是带有占位符的文本,例如&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