2012-11-29 97 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]}" 
相關問題