在bash中从字符串中获取连字符的左侧?

时间:2013-08-13 23:25:06

标签: bash

所以我希望用户像这样输入一个字符串:“something-5,something-2,something-3”。

我把逗号分隔的字符串与此分开:

IFS=',' read -a SLAVE_ARR <<< "$slaveAmounts"

其中SLAVE_ARR是新数组,slaveAmounts是传入的字符串。

但是,我想在每个逗号分隔值的左侧和右侧读取。我怎么做?所以基本上我想要一个命令,所以我可以将左侧保存在一个变量中,将右侧保存在另一个变量中。

1 个答案:

答案 0 :(得分:1)

只需使用bash string manipulation

[cnicutar@ariel ~]$ item=something-5
[cnicutar@ariel ~]$ echo ${item#*-}
5
[cnicutar@ariel ~]$ echo ${item%-*}
something

并执行for item in ${SLAVE_ARR[*]}迭代它们。