从字符串变量中提取第二个单词

从字符串变量中提取第二个单词

我有一个字符串"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

相关内容