문자열 변수에서 두 번째 단어 추출

문자열 변수에서 두 번째 단어 추출

"rtcpOnNbActive true"변수에 문자열이 저장되어 있습니다 x. "true"를 하위 문자열로 추출하여 변수에 저장하고 싶습니다. 어떻게 해야 하나요?

답변1

다음 방법을 시도해 보세요.

y=$(echo $x | awk '{print $2}')
echo $y
  • echo $x표시된 값 x.
  • awk '{print $2}'이전에 표시된 두 번째 필드를 인쇄합니다 x.
  • $(... )출력을 유지하고 에 할당합니다 y.

답변2

추출하려는 하위 문자열 앞에 최소한 하나의 공백이 있고 하위 문자열에 공백이 포함되어 있지 않다고 가정하면 간단한 매개변수 확장을 통해 이 작업을 수행할 수 있습니다.

x="rtcpOnNbActive     true"
y="${x##* }"
echo "[$y]"

산출

[true]

답변3

bash 배열을 사용하여 이 작업을 수행할 수 있습니다. str대괄호를 안에 넣기만 하면 됩니다. 예를 들어:

arr=("first second third")
echo ${arr[1]}

str="first second third"
arr1=($str)
echo ${arr1[1]}

답변4

read내장된 것을 사용할 수 있습니다 .

read -r _ y <<<"$x"
printf "%s\n" "$y"
true

관련 정보