字符串的Bash / Substring

时间:2013-06-10 14:52:03

标签: linux bash

我试图找到一个字符串的子串。

如果我有字符串try-30/16,我想获得30字符串。

所以我写了下一篇:

n=${"'$b'":'-':'/'}

其中$ b是我在此命令之前分配的变量。它给出了下一个:

糟糕的替代。

我怎么做?

3 个答案:

答案 0 :(得分:4)

试试这个。

b="try-30/16"
n=${b##*-}
n=${n%%/*}
echo $n

答案 1 :(得分:2)

$ n=${b%/*}
$ n=${n#*-}
$ echo $n
30

答案 2 :(得分:2)

你也可以这样做:

[[ $b =~ [^-]+-([0-9]+) ]] && echo "${BASH_REMATCH[1]}"

<强>输出:

30

现场演示:http://ideone.com/bKHGcS