하이픈으로 구분된 문자열의 마지막 부분을 추출하는 간단한 명령줄이 있습니까? 예를 들어, 나는 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.,])'