我正在编写一个 bash shell 脚本。在那里,我执行一个命令并将输出保存到一个变量中。值是这样的:
0x34f0020d4 4 0x434346000 test_string
如何解析和保存第三个字符串的值(即 0x434346000),假设该值由空格或制表符分隔?
我正在编写一个 bash shell 脚本。在那里,我执行一个命令并将输出保存到一个变量中。值是这样的:
0x34f0020d4 4 0x434346000 test_string
如何解析和保存第三个字符串的值(即 0x434346000),假设该值由空格或制表符分隔?
使用外壳read
命令:
read first second third rest <<< "$line"
echo $third
以这种方式输入给出上述输出的命令:
x=($(your command))
$ echo ${x[2]}
0x434346000
命令的输出存储在数组“x”中,因此数组的索引 2 包含第三个元素。
这是一种使用方法awk
:
var=$(echo "$string" | awk '{ print $3 }')
测试:
echo "$var"
结果:
0x434346000
使用数组来索引值:
arr=("0x34f0020d4 4 0x434346000 test_string")
echo "${arr[2]}"
您也可以使用剪切命令。回声“axbxc” | cut -f 2 -d "x" 给出 b