Answers:
您可以使用Bash的参数扩展:
string="foo-bar-123" && printf "%s\n" "${string##*-}"
123
如果要使用其他进程,请使用Awk:
echo "foo-bar-123" | awk -F- '{print $NF}'
或者,如果您喜欢Sed:
echo "foo-bar-123" | sed 's/.*-//'
较轻的外部过程中,由于格伦杰克曼建议是cut
:
cut -d- -f3 <<< "$string"
cut
; 的确如此,但
rev <<< "$string" | cut -d- -f1 | rev
,但随后我们偏离了param.expansion的简单性。
cut
:cut -d- -f3 <<< "$string"