2012-11-29 99 views
1

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

0x34f0020d4   4 0x434346000 test_string 

如何可以解析并保存第三串(即0x434346000)的值,假设值是由空格或制表符分隔?

回答

2

下面是使用awk一个办法:

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

测试:

echo "$var" 

结果:

0x434346000 
1

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

3

把你的命令,其给出了这种方式在上述输出:

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

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

3

使用壳read命令:

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

使用数组索引值:

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