답변:
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/.*-//'
Glenn Jackman이 제안한 것처럼 더 가벼운 외부 프로세스 는 cut
다음과 같습니다.
cut -d- -f3 <<< "$string"
cut
; 실제로 그러나 마지막 필드의 숫자가 알려진 경우에만 (질문이 약간 모호하기 때문에 : 마지막 부분을 추출하는 간단한 명령 행이 있습니까? ... )
rev <<< "$string" | cut -d- -f1 | rev
있지만, 우리는 param.expansion의 단순함에서 멀어지고 있습니다.
cut
다음과 같습니다.cut -d- -f3 <<< "$string"