Yanıtlar:
Bash'in parametre genişletmesini kullanabilirsiniz :
string="foo-bar-123" && printf "%s\n" "${string##*-}"
123
Awk ile başka bir işlem kullanmak istiyorsanız:
echo "foo-bar-123" | awk -F- '{print $NF}'
Veya Sed'i tercih ediyorsanız:
echo "foo-bar-123" | sed 's/.*-//'
Gibi bir hafif dış işlem olup, Glenn Jackman anlaşılacağı olduğu cut
:
cut -d- -f3 <<< "$string"
cut
:; Gerçekten de, ancak son alanın numarası biliniyorsa (soru biraz belirsiz olduğu için: Son kısmı çıkarmak için basit bir komut satırı var mı? ... )
rev <<< "$string" | cut -d- -f1 | rev
, ama sonra uzak param.expansion basitliğinden veering ediyoruz.
cut
:cut -d- -f3 <<< "$string"