私はbashシェルスクリプトを書いています。そこで、コマンドを実行し、出力を変数に保存します。値は次のようになります。
0x34f0020d4 4 0x434346000 test_string
値がスペースまたはタブで区切られていると仮定して、3番目の文字列(つまり0x434346000)の値を解析して保存するにはどうすればよいですか?
私はbashシェルスクリプトを書いています。そこで、コマンドを実行し、出力を変数に保存します。値は次のようになります。
0x34f0020d4 4 0x434346000 test_string
値がスペースまたはタブで区切られていると仮定して、3番目の文字列(つまり0x434346000)の値を解析して保存するにはどうすればよいですか?
上記の出力を与えるコマンドを次のように入力します。
x=($(your command))
$ echo ${x[2]}
0x434346000
コマンドの出力は配列「x」に格納されているため、配列のインデックス2には3番目の要素が含まれています。
シェルread
コマンドを使用します。
read first second third rest <<< "$line"
echo $third
使用する1つの方法は次のawk
とおりです。
var=$(echo "$string" | awk '{ print $3 }')
テスト:
echo "$var"
結果:
0x434346000
cutコマンドを使用することもできます。エコー「axbxc」| cut -f 2-d"x"はbを与えます
配列を使用して値にインデックスを付けます。
arr=("0x34f0020d4 4 0x434346000 test_string")
echo "${arr[2]}"