Risposte:
Puoi usare l' espansione dei parametri di Bash :
string="foo-bar-123" && printf "%s\n" "${string##*-}"
123
Se vuoi usare un altro processo, con Awk:
echo "foo-bar-123" | awk -F- '{print $NF}'
Oppure, se preferisci Sed:
echo "foo-bar-123" | sed 's/.*-//'
Un processo esterno più leggero, come suggerisce Glenn Jackman è cut
:
cut -d- -f3 <<< "$string"
cut
; anzi, ma solo se il numero dell'ultimo campo è noto (poiché la domanda è un po 'ambigua: esiste una semplice riga di comando per estrarre l'ultima parte ...? )
rev <<< "$string" | cut -d- -f1 | rev
, ma poi ci stiamo allontanando dalla semplicità di param.expansion.
cut
:cut -d- -f3 <<< "$string"