如何在bash脚本中获取shell命令的中间值

时间:2012-11-29 13:24:36

标签: bash

我正在编写一个bash shell脚本。在那里,我执行一个命令并将输出保存到变量。价值是这样的:

0x34f0020d4         4 0x434346000 test_string

如何解析并保存第3个字符串的值(即0x434346000),假设该值由空格或制表符分隔?

5 个答案:

答案 0 :(得分:3)

放置以这种方式提供上述输出的命令:

x=($(your command))
$ echo ${x[2]}
0x434346000

命令的输出存储在数组“x”中,因此数组的索引2包含第3个元素。

答案 1 :(得分:3)

使用shell read命令:

read first second third rest <<< "$line"
echo $third

答案 2 :(得分:2)

这是使用awk的一种方式:

var=$(echo "$string" | awk '{ print $3 }')

测试:

echo "$var"

结果:

0x434346000

答案 3 :(得分:1)

您也可以使用cut命令。 echo“axbxc”| cut -f 2 -d“x”给出b

答案 4 :(得分:1)

使用数组索引值:

arr=("0x34f0020d4         4 0x434346000 test_string")
echo "${arr[2]}"