하이픈 다음 문자열의 마지막 부분을 가져옵니다.

하이픈 다음 문자열의 마지막 부분을 가져옵니다.

하이픈으로 구분된 문자열의 마지막 부분을 추출하는 간단한 명령줄이 있습니까? 예를 들어, 나는 123그것에서 추출 하고 싶습니다 foo-bar-123.

답변1

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"

답변2

echo "foo-bar-123"| awk -F"-" '{print $3}' 

답변3

grep -Po '(?<=\w-)\w+(?=$|[\s.,])'

관련 정보